SQLServer 2012 字符串函数



--【SQLServer 2012 字符串函数】




--1.【ASCII】返回字符表达式中最左侧的字符的 ASCII 代码值	
SELECT ASCII('A'),ASCII(' '),ASCII('@'),ASCII('黄')
--结果:65	32	64	187


--2.【CHAR】将 int ASCII 代码转换为字符,0 到 255 之间的整数。如果整数表达式不在此范围内,则返回 NULL
SELECT CHAR(65),CHAR(32),CHAR(64),CHAR(187)
--结果:A	 	@	NULL


--3.【QUOTENAME】返回带有分隔符的 Unicode 字符串,分隔符的加入可使输入的字符串成为有效的 SQL Server 分隔标识符
SELECT QUOTENAME('COLUMN') --[COLUMN]


--4.【CONCAT】返回SQL Server 2012 作为串联两个或更多字符串值的结果的字符串
SELECT CONCAT('CONCAT ', '练习 ', ',字符串连接' )
--结果:CONCAT练习,字符串连接


--5.【DIFFERENCE】返回一个整数值,指示两个字符表达式的 SOUNDEX 值之间的差异
--返回的整数是 SOUNDEX 值中相同字符的个数。 返回的值从 0 到 4 不等:0 表示几乎不同或完全不同,4 表示几乎相同或完全相同
SELECT DIFFERENCE('Green','Greene'),DIFFERENCE('Blotchet-Halls', 'Greene')
--结果:4	1


--6.【FORMAT】返回 SQL Server 2012 中以指定的格式和可选的区域性格式化的值。一般的数据类型转换用CAST或CONVERT
SELECT FORMAT( GETDATE(), 'dd/MM/yyyy', 'en-US' ),FORMAT(123456789,'###-##-####')


--7.【LEFT】返回字符串中从左边开始指定个数的字符
SELECT LEFT('123456789', 5) --12345


--8.【RIGHT】返回字符串中从右边开始指定个数的字符
SELECT RIGHT('123456789', 5) --56789


--9.【LTRIM】返回删除了前导空格之后的字符表达式
SELECT LTRIM('    1234  789    ') --[1234  789    ]


--10.【RTRIM】截断所有尾随空格后返回一个字符串
SELECT RTRIM('    1234  789    ') --[    1234  789]


--11.【LEN】返回指定字符串表达式的字符数,其中不包含尾随空格
SELECT LEN('123456789'),LEN('  123456789'),LEN('123456789  ')
--结果:9	11	9


--12.【LOWER】将大写字符数据转换为小写字符数据后返回字符表达式
SELECT LOWER('SQL Server') --sql server


--13.【UPPER】将大写字符数据转换为小写字符数据后返回字符表达式
SELECT UPPER('SQL Server') --SQL SERVER


--14.【NCHAR】根据 Unicode 标准的定义,返回具有指定整数代码的 Unicode 字符,从 0 到 65535(0 到 0xFFFF)
SELECT NCHAR(65)+NCHAR(97)+NCHAR(123) --Aa{


--15.【CHARINDEX】在一个表达式中搜索另一个表达式并返回其起始位置(可判断一个字符串是否在另一个字符串中)
select CHARINDEX('456','123456789')  --4
select CHARINDEX('1','235694526')   --0
select CHARINDEX('1','12314510215985')  --1
select CHARINDEX('1','12314510215985',8) --10
  

--16.【PATINDEX】返回模式在指定表达式中第一次出现的起始位置,找不到则返回0。类似 like 和 charindex 的用法
select PATINDEX('BC','BC')  --1
select PATINDEX('BC','ABC')  --0 
select PATINDEX('%BC','ABC') --2


--17.【SOUNDEX】返回一个由四个字符组成的代码 (SOUNDEX),用于评估两个字符串的相似性.区分排序规则。
SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') --S252	S200
SELECT SOUNDEX('Father'), SOUNDEX ('Brother')--F241	B124


--18.【REPLACE】用另一个字符串值替换出现的所有指定字符串值。不区分大小写
select REPLACE('ABCDEFG','B','b')   --AbCDEFG
select REPLACE('ABCDEFGBc','BC','*')   --A*DEFG*


--19.【REPLICATE】以指定的次数重复字符串值
select REPLICATE('0',10)   --0000000000
select REPLICATE('ab',3)   --ababab


--20.【SPACE】返回指定重复空格的字符串
SELECT '1'+ SPACE(7) +  LTRIM('9') --[1       9]


--21.【REVERSE】返回字符串值的逆序
SELECT REVERSE('0123456789')


--22.【SUBSTRING】返回 SQL Server 2012 中的字符、二进制、文本或图像表达式的一部分
SELECT SUBSTRING('123456789',3,3) --345


--23.【STUFF】返回 SQL Server 2012 中的字符、二进制、文本或图像表达式的一部分
--STUFF(character_expression , start , length , replaceWith_expression )
select STUFF ( 'ABCDEFG' , 2 , 0 ,'-' ) --A-BCDEFG
select STUFF ( 'ABCDEFG' , 2 , 1 ,'b' ) --AbCDEFG 
select STUFF ( 'ABCDEFG' , 2 , 2 ,'*' ) --A*DEFG 


--24.【UNICODE】按照 Unicode 标准的定义,返回输入表达式的第一个字符的整数值
SELECT UNICODE(N'65') --345









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值