您的位置:首页 > 数据库

SQL SERVER 2008- 字符串函数

2015-06-16 16:22 316 查看
/*

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'


猜测您可能对下边的文章感兴趣

SQLSERVER2008函数大全-字符串函数

SQL2008系统统计函数

[MSSQL]GROUPINGSETS,ROLLUP,CUBE初体验

[MSSQL]ROW_NUMBER函数

[MSQL]RANK函数

[MSSQL]NTILE另类分页有么有?!

[MSQL]也说SQL中显示星期几函数

[MSSQL]COALESCE与ISNULL函数

[MSSQL]PIVOT函数

[MSSQL]FORXMLAUTOI

[MSSQL]FORXMLAUTOII

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