1. ASCII和CHAR
ASCII(character_expression): 返回最左端字符的 ASCII 代码值
CHAR(integer_expression):返回相应字符根据ascii码
举例:
Select ascii(‘www.fangshanzi.com’);
119
Select char(119);
w
2. UNICODE和NCHAR
UNICODE(ncharacter_expression)
按照 Unicode 标准的定义,返回输入表达式的第一个字符的整数值。UNICODE()函数是ASCII()的Unicode等价函数
NCHAR(integer_expression):返回响应字符根据unicode码
举例:
Select unicode(‘www.fangshanzi.com’);
119
Select nchar(119);
w
3. LOWER和UPPER
LOWER(character_expression):以sql server字符串中的字符小写返回
UPPER(character_expression):以sql server字符串中的字符大写返回
举例:
Select lower(‘WWW.fangshanzi.com’);
www.fangshanzi.com
Select upper(‘WWW.fangshanzi.com’);
WWW.FANGSHANZI.COM
4. LTRIM和RTRIM
LTRIM(character_expression):截断左端英文空格
RTRIM(character_expression):截断右端英文空格
举例:
Select ltrim(‘ ”WWW.fangshanzi.com ”’);
‘WWW.fangshanzi.com ‘
Select rtrim(”’ WWW.fangshanzi.com” ‘);
‘ WWW.fangshanzi.com’
5. LEN
LEN(string_expression):返回字符(不是字节)个数,不包含尾随的英文空格
举例:
Select len(‘WWW.fangshanzi.com’);
18
6. REVERSE
REVERSE(character_expression):颠倒sql server字符串
举例:
Select REVERSE(‘WWW.fangshanzi.com’); moc.iznahsgnaf.WWW
7. REPLICATE和SPACE
REPLICATE(character_expression, integer_expression) 重复字符串
SPACE(integer_expression) 重复 integer_expression 个空格
举例:
Select replicate(‘WWW’,3);
WWWWWWWWW
Select SPACE(8);
8. SOUNDEX
SOUNDEX(character_expression)
根据sql server字符串情况,返回一个特定的四个长度的字符串,可用来查找发音相似的字符串但SOUNDEX函数对数字和汉字均只返回0值,比较中忽略元音。使用非字母字符来终止比较。此函数总会返回值
DIFFERENCE(character_expression, character_expression)
比较两个表达式的 SOUNEX 返回值有几个字符不同,返回值[0-4]
–0 两个SOUNDEX 函数返回值的第一个字符不同
–1 两个SOUNDEX 函数返回值的第一个字符相同
–2 两个SOUNDEX 函数返回值的第一二个字符相同
–3 两个SOUNDEX 函数返回值的第一二三个字符相同
–4 两个SOUNDEX 函数返回值完全相同
举例:
Select soundex(‘WWW.fangshanzi.com’);
0000
SELECT SOUNDEX (‘fangshanzi’), SOUNDEX (‘salleyzhao’);
F624 S100
SELECT DIFFERENCE(‘fangshanzi’, ‘fangshanzibb’);
4
SELECT DIFFERENCE(‘fangshanzi’, ‘fangzhouzi’);
3
SELECT DIFFERENCE(‘fangshanzi’, ‘fangshangzi’);
4
9. STR和QUOTENAME
STR(float_expression[, length[, decimal]])
返回由数字转换成的字符串值,STR 的长度和小数参数(如果提供)应该是正数。默认长度是 10。在默认情况下或者小数参数为 0 时,数字四舍五入为整数。指定长度应该大于或等于小数点前面的数字加上数字符号(如果有的话)的长度:表达式的整数部分超过 STR 中指定的长度,STR将为指定的长度返回
QUOTENAME(character_string[, quote_character]):返回带有分隔符的 UNICODE 字符串
举例:
SELECT STR(1237.485, 6, 2);
1237.5
SELECT STR(17.485, 6, 2);
17.48
SELECT STR(17.485);
17
SELECT STR(17.585);
18
Select QUOTENAME(‘fang’);
[fang]
Select QUOTENAME(‘fang’,”);
[fang]
Select QUOTENAME(‘fang’,””);
‘fang’
10. LEFT和RIGHT
Left(character _expression, integer_expression):截取从字符串左边开始N个字符
right(character _expression, integer_expression):截取从字符串右边开始N个字符
举例:
Select left(‘WWW.fangshanzi.com’,5);
WWW.f
Select right(‘WWW.fangshanzi.com’,5);
i.com
11. Substring和patindex和charindex
SUBSTRING ( expression , start , length ) :返回字符串里从start位置开始的length个字符。
expression:字符串、二进制字符串、text、image、列或包含列的表达式
start:整数,指定子串的开始位置(SQl中”1″表示字串的第一个字符,而.NET中”0″表示第一个)
length:整数,指定子串的长度(要返回的字符数或字节数)
PATINDEX ( ‘%pattern%’ , expression ):返回指定表达式中某模式第一次出现的起始位置;
如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。
pattern:字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个和最后一个字符时除外)。pattern 是短字符数据类型类别的表达式
expression:表达式,通常为要在其中搜索指定模式的列,expression 为字符串数据类型类别
charindex(expression2, expression):返回在字串expression中expression2的开始位置;CHARINDEX函数搜索字符串时,不区分大小写
函数PATINDEX与CHARINDEX区别在于:前者可以参数一些参数,增加查询的功能
举例:
Select substring(‘WWW.fangshanzi.com’,5,4);
fang
Select charindex(‘fang’,’WWW.fangshanzi.com’);
5
Select charindex(‘f’,’WWW.fangshanzi.com’);
5
Select substring(‘WWW.fangshanzi.com’,charindex(‘f’,’WWW.fangshanzi.com’),10);
fangshanzi
Select patindex(‘%f%’,’WWW.fangshanzi.com’);
5
Select substring(‘WWW.fangshanzi.com’,patindex(‘%f%’,’WWW.fangshanzi.com’),10);
fangshanzi
12. STUFF 和REPLACE
STUFF(character_expression, start, length, character_expression)
按 start、length 删除第一个表达式的内容并在 start 位置插入第四个表达式
REPLACE(character _expression,str_a,str_b):替换character _expression中的str_a为str_b;
函数STUFF与REPLACE区别在于:前者可以指定替换范围,而后者则是全部范围内替换
举例:
Select stuff(‘www.fangshanzi.com’,5,10,’salleyzhao’);
www.salleyzhao.com
Select replace(‘www.fangshanzi.com’,’fangshanzi’,’salleyzhao’);
www.salleyzhao.com