您的位置:首页 > 数据库

SQL SERVER 2008 函数大全 - 字符串函数

2012-04-23 20:50 411 查看
SQLSERVER2008函数大全-字符串函数

/*


1,ASCII返回字符表达式中最左侧字符的ASCII代码值


仅返回首字母的ASCII码值


parameterchar或varchar


returnsinteger


*/


SELECTASCII('a')--97


SELECTASCII('A')--65


SELECTASCII('aA')--97


SELECTASCII('0')--48


SELECTASCII('01')--48








/*


2,CHAR将整数ASCII代码转换为字符


parameterTINYINT


returnschar(1)


*/


SELECTCHAR(97)--a


SELECTCHAR(65)--A


--SELECTCHAR('A')--在将varchar值'A'转换成数据类型int时失败。








/*


3,CHARINDEX返回表达式中指定字符的开始位置


parameter


搜索表达式varchar


要搜索的表达式varchar


开始位置bigint


returnsinteger|bigint


其中第三个参数仅影响查询开始位置,不会影响返回结果


例如,需要忽略前50个字符,从第50个字符往后开始查找,并返回位置即可使用该参数


默认从位置1处开始查询


*/


SELECTCHARINDEX('b','abcdefg',0)--2


SELECTCHARINDEX('b','abcdefg',1)--2


SELECTCHARINDEX('b','abcdefg',2)--2


SELECTCHARINDEX('b','abcdefg',3)--0








/*


4,DIFFERENCE以整数返回两个字符表达式的SOUNDEX值之差


parameter表达式varchar


parameter表达式varchar


SOUNDEX是一种语音算法,利用英文字的读音计算近似值,值由四个字符构成,第一个字符为英文字母,后三个为数字。在拼音文字中有时会有会念但不能拼出正确字的情形,可用Soundex做类似模糊匹配的效果。


http://zh.wikipedia.org/zh-cn/Soundex


*/


SELECTDIFFERENCE('bet','bit')--3








/*


5,LEFT返回字符表达式最左侧指定数目的字符


parameter表达式varchar|nvarchar


字符数integer


returnsvarchar|nvarchar


*/


SELECTLEFT('abcdefg',1)--a


SELECTLEFT('abcdefg',2)--ab


SELECTLEFT('abcdefg',3)--abc


SELECTLEFT('abcdefg',1000)--abcdefg


--SELECTLEFT('abcdefg',-2)--传递到left函数的长度参数无效。


SELECTLEFT('abcdefg',0)--''








/*


6,LEN返回给定字符串表达的字符数


parameter表达式varchar|nvarchar


returnsinteger|bigint


*/


SELECTLEN('abcdefg')--7


SELECTLEN(N'abcdefg')--7


SELECTLEN('')--0


SELECTLEN('中国人')--3








/*


7,LOWER返回将大写字符转换为小字符的字符表达式


parameter表达式varchar|nvarchar


returnsvarchar|nvarchar


*/


SELECTLOWER('ABCDEFG')--abcdefg


SELECTLOWER('中国人')--中国人








/*


8,LTRIM返回删除了前导空格之后字符表达式


parameter表达式varchar|nvarchar


returnsvarchar|nvarchar


*/


SELECTLTRIM('abcdefg')--abcdefg




/*


9,NCHAR返回具有给定的整数代码的UNICODE字符


parameterinteger


returnsnchar(1)


*/


SELECTNCHAR(65)--A


SELECTNCHAR(-65)--NULL


SELECTNCHAR(-66)--NULL








/*


10,PATINDEX返回指定表达式中模式第一次出现的开始位置


parameter搜索模式文字varchar|nvarchar


要搜索的表达式varchar|nvarchar


returnsinteger|bigint


*/


SELECTPATINDEX('%_cd%','abcdefg')--2








/*


11,QUOTENAME返回为成为有效的SQLSERVER分隔标识符而添加了分隔符的UNICODE字符串


parameter表达式nvarchar(128)


(可选)引号字符char(1)


returnsnvarchar(258)


*/


SELECTQUOTENAME('CREATETABLE')--[CREATETABLE]


SELECTQUOTENAME('a')--[a]








/*


12,REPLACE用第三个表达式替换第一个表达式中出现的第二个表达式


parameter要搜索的表达式varchar|nvarchar


搜索表达式varchar|nvarchar


替换表达式varchar|nvarchar


returnsvarchar|nvarchar


*/


SELECTREPLACE('abcdefg','cd','0')--ab0efg


SELECTREPLACE('abcdefg','cd','')--abefg








/*


13,REPLICATE按指定次数重复表达式


parameter表达式varchar|nvarchar


表达式bigint


returnsvarchar|nvarchar


*/


SELECTREPLICATE('a',4)--aaaa


SELECTREPLICATE('abc|',4)--abc|abc|abc|abc|








/*


14,REVERSE返回字符表达式的逆向表达式


parameter表达式varchar|nvarchar


returnsvarchar|nvarchar


*/


SELECTREVERSE('ABC')--CBA


SELECTREVERSE('ABa')--aBA








/*


15,RIGHT返回字符表达式右侧指定数目的字符


parameter表达式varchar|nvarchar


表达式bigint


returnsvarchar|nvarchar


!类似LEFT函数


*/


SELECTRIGHT('abcd',3)--bcd








/*


16,RTRIM返回截断了所有尾随空格之后的字符表达式


parameter表达式varchar|nvarchar


returnsvarchar|nvarchar


*/


SELECTRTRIM('ABCD')--ABCD




/*


17,SOUNDEX返回由四个字符表达的SOUNDEX代码


parameter表达式varchar


returnsvarchar


!参考DIFFERENCE函数


*/


SELECTSOUNDEX('ABCD')--A120


SELECTSOUNDEX('hello')--A120








/*


18,SPACE返回由重复空格组成的字符串


parameter表达式integer


returnschar


*/


SELECTSPACE(10)--[]


SELECTLEN(SPACE(10))--0








/*


19,STR返回从默认表达转换而来的字符串


parameter表达式float


(可选)长度integer,default


(可选)小数位数integer,default


returnschar


*/


SELECTSTR(100)--[100]


SELECTSTR(100,10,2)--[100.00]


SELECTSTR(100.66666,10,2)--[100.67]


SELECTLTRIM(STR(100.66666,10,2))--[100.67]


SELECTSTR(100.66666,10)--[101]








/*


20,STUFF删除指定长度的字符,并在指定的起点处插入另一组字符


parameter要搜索的表达式varchar|nvarchar|varbinary


开始位置bigint


字符数bigint


替换表达式varchar|nvarchar|varbinary


returnsvarchar|nvarchar|varbinary


*/


SELECTSTUFF('abcd',1,4,'1')--1


SELECTSTUFF('abcd',2,4,'1')--a1


SELECTSTUFF('abcd',2,3,'1')--a1


SELECTSTUFF('abcd',3,4,'1')--ab1


SELECTSTUFF('abcd',4,4,'1')--abc1


SELECTSTUFF('abcd',5,4,'1')--NULL




SELECTSTUFF('abcd',1,1,'1')--1bcd


SELECTSTUFF('abcd',1,2,'1')--1cd


SELECTSTUFF('abcd',1,3,'1')--1d


SELECTSTUFF('abcd',1,4,'1')--1


SELECTSTUFF('abcd',1,5,'1')--1


SELECTSTUFF('abcd',1,500,'1')--1




SELECTSTUFF('abcdefg',2,4,'xxx')--axxxfg




/*


21,SUBSTRING返回字符表达式,二进制,文本表达式或图像表达的一部分


parameter表达式varchar|nvarchar|text|ntext|varbinary|image


开始位置bigint


长度bigint


returnsvarchar|nvarchar|text|ntext|varbinary|image


*/


SELECTSUBSTRING('abcd',1,1)--a


SELECTSUBSTRING('abcd',2,1)--b


SELECTSUBSTRING('abcd',3,1)--c


SELECTSUBSTRING('abcd',4,1)--d




SELECTSUBSTRING('abcd',1,1)--a


SELECTSUBSTRING('abcd',1,2)--ab


SELECTSUBSTRING('abcd',1,3)--abc


SELECTSUBSTRING('abcd',1,4)--abcd




SELECTSUBSTRING('abcdefg',2,3)--bcd




/*


22,UNICODE返回表达第一个字符的UNICODE整数值


parameter表达式nvarchar


returnsinteger


!仅返回首字符


*/


SELECTUNICODE('a')--97


SELECTUNICODE('中国人')--20013


SELECTUNICODE('中国')--20013


SELECTUNICODE('中')--20013




/*


23,UPPER返回将小写字符转换为大写字符的字符表达式


parameter表达式varchar|nvarchar


returnsvarchar|nvarchar


*/


SELECTUPPER('a')--'A'

北京广告联盟(微博)北京淘宝联盟(微博)跑运输(网站)广告位招商(网站)

天猫频道   电器频道   数码频道        千金本草    宝耶    所然    诺缇诗    蒙蒂埃莫    ing2ing    梦芭莎     我是购物狂



































内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: