字符及字符串操作函数

/*

 

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

仅返回首字母的ASCII码值

parameter    charvarchar

returns        integer

 */

SELECT ASCII('a') --97

SELECT ASCII('A') --65

SELECT ASCII('aA') --97

SELECT ASCII('0') --48

SELECT ASCII('01') --48

/*

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

parameter    TINYINT

returns        char(1)

 */

SELECT CHAR(97)-

SELECT CHAR(65)--A

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

/*

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

parameter

    搜索表达式varchar

    要搜索的表达式varchar

    开始位置bigint

returnsinteger|bigint

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

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

默认从位置处开始查询

*/

SELECT CHARINDEX('b','abcdefg',0)--2

SELECT CHARINDEX('b','abcdefg',1)--2

SELECT CHARINDEX('b','abcdefg',2)--2

SELECT CHARINDEX('b','abcdefg',3)--0

Select  charindex('h','sdshdhdfsdd',5)

/*

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

 parameter    表达式varchar

 parameter    表达式varchar

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

*/

SELECT DIFFERENCE('bet','bit')--3

/*

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

parameter    表达式varchar|nvarchar

            字符数integer

returns        varchar|nvarchar

*/

SELECT LEFT('abcdefg',1)--a

SELECT LEFT('abcdefg',2)--ab

SELECT LEFT('abcdefg',3)--abc

SELECT LEFT('abcdefg',1000)--abcdefg

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

SELECT LEFT('abcdefg',0)--''

/*

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

parameter    表达式varchar|nvarchar

returns        integer|bigint

*/

SELECT LEN('abcdefg')--7

SELECT LEN(N'abcdefg')--7

SELECT LEN('')--0

SELECT LEN('中国人')--3

/*

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

parameter    表达式varchar|nvarchar

returns        varchar|nvarchar

*/

SELECT LOWER('ABCDEFG')--abcdefg

SELECT LOWER('中国人')--中国人

/*

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

prameter    表达式varchar|nvarchar

returns        varchar|nvarchar

*/

SELECT LTRIM('   abcdefg')--abcdefg

/*

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

parameter    integer

returns        nchar(1)

*/

SELECT NCHAR(65)--A

SELECT NCHAR(-65)--NULL

SELECT NCHAR(-66)--NULL

 

/*

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

parameter    搜索模式文字varchar|nvarchar

            要搜索的表达式varchar|nvarchar

returns        integer|bigint   

*/

SELECT PATINDEX('%_cd%','abcdefg')--2

select patindex('%oo_d%', 'ooofddooo')

/*

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

parameter    表达式nvarchar(128)

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

returns        nvarchar(258)

*/

SELECT QUOTENAME('CREATE TABLE')--[CREATE TABLE]

SELECT QUOTENAME('a')--[a]

/*

 

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

parameter    要搜索的表达式varchar|nvarchar

            搜索表达式varchar|nvarchar

            替换表达式varchar|nvarchar

returns       varchar|nvarchar

*/

SELECT REPLACE('abcdefg','cd','0')--ab0efg

SELECT REPLACE('abcdefg','cd','')--abefg

 /*

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

parameter    表达式varchar|nvarchar

            表达式bigint

returns       varchar|nvarchar

*/

SELECT REPLICATE('a',4)--aaaa

SELECT REPLICATE('abc|',4)--abc|abc|abc|abc|

/*

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

parameter    表达式varchar|nvarchar

returns        varchar|nvarchar

*/

SELECT REVERSE('ABC')--CBA

SELECT REVERSE('ABa')--aBA

 

/*

 

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

parameter    表达式varchar|nvarchar

            表达式bigint

returns        varchar|nvarchar

!类似LEFT函数

*/

SELECT RIGHT('abcd',3)--bcd

/*

 

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

parameter    表达式varchar|nvarchar

returns        varchar|nvarchar

*/

SELECT RTRIM('ABCD    ')--ABCD

/*

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

parameter    表达式varchar

returns        varchar

!参考DIFFERENCE函数

*/

SELECT SOUNDEX('ABCD')--A120

SELECT SOUNDEX('hello')--A120

/*

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

parameter    表达式integer

returns        char

*/

SELECT SPACE(10)--[          ]

SELECT LEN(SPACE(10))--0

 /*

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

parameter    表达式float

            (可选)长度integer,default

            (可选)小数位数integer,default

returns        char

*/

SELECT STR(100)--[       100]

SELECT STR(100,10,2)--[    100.00]

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

SELECT LTRIM(STR(100.66666,10,2))--[100.67]

SELECT STR(100.66666,10)--[       101]

/*

 

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

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

            开始位置bigint

            字符数bigint

            替换表达式varchar|nvarchar|varbinary

returns       varchar|nvarchar|varbinary

*/

SELECT STUFF('abcd',1,4,'1')--1

SELECT STUFF('abcd',2,4,'1')--a1

SELECT STUFF('abcd',2,3,'1')--a1

SELECT STUFF('abcd',3,4,'1')--ab1

SELECT STUFF('abcd',4,4,'1')--abc1

SELECT STUFF('abcd',5,4,'1')--NULL

SELECT STUFF('abcd',1,1,'1')--1bcd

SELECT STUFF('abcd',1,2,'1')--1cd

SELECT STUFF('abcd',1,3,'1')--1d

SELECT STUFF('abcd',1,4,'1')--1

SELECT STUFF('abcd',1,5,'1')--1

SELECT STUFF('abcd',1,500,'1')--1

SELECT STUFF('abcdefg',2,4,'xxx')--axxxfg

/*

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

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

            开始位置bigint

            长度bigint

returns       varchar|nvarchar|text|ntext|varbinary|image

*/

SELECT SUBSTRING('abcd',1,1)--a

SELECT SUBSTRING('abcd',2,1)--b

SELECT SUBSTRING('abcd',3,1)--c

SELECT SUBSTRING('abcd',4,1)--d

SELECT SUBSTRING('abcd',1,1)--a

SELECT SUBSTRING('abcd',1,2)--ab

SELECT SUBSTRING('abcd',1,3)--abc

SELECT SUBSTRING('abcd',1,4)--abcd

SELECT SUBSTRING('abcdefg',2,3)--bcd

/*

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

parameter    表达式nvarchar

returns        integer

!仅返回首字符

*/

SELECT UNICODE('a')--97

SELECT UNICODE('中国人')--20013

SELECT UNICODE('中国')--20013

SELECT UNICODE('')--20013

/*

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

parameter    表达式varchar|nvarchar

returns        varchar|nvarchar

*/

SELECT UPPER('a')--'A'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值