微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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,'-' ) --A-BCDEFG
select STUFF ( 'ABCDEFG',1,'b' ) --AbCDEFG 
select STUFF ( 'ABCDEFG','*' ) --A*DEFG 


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




版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐