/* 字符串函数 (PS.索引都从1开始计算)*/
/*
指定字符(或字符串)A、字符串B、起始索引。获得A在B中的索引值。*/
select Charindex('d','abcdefg',0) --4
select Charindex('bc','abcdefg',0) --2
/* 以整数返回两个字符表达式的SOUNDEX值之差 */
select Difference('big','bit')--3
/* 获取字符串长度 */
select Len('abcdefg')--7
/* 将字符串中的大写字母转换为小写字母 */
select Lower('A')--a
/* 将字符串中的小写字母转换为大写字母*/
select Upper('a')--A
/*
指定含通配符的字符串A、原始字符串B,得到B中的A第一次出现的索引位置。*/
select Patindex('%cd%','abcdefg')--3
select Patindex('%_cd%','abcdefg')--2
/* 返回为成为有效的SQL SERVER分隔标识符而添加了分隔符的UNICODE字符串
*/
select
Quotename('tempTable')--[tempTable]
/* 指定字符串、指定重复次数,将该字符串重复叠加为一个新的字符串
*/
select Replicate('abc|',4)--abc|abc|abc|abc|
/* 返回字符表达式的逆向表达式 */
select Reverse('一个人的好天气')--气天好的人个一
/* 返回字符表达式最左侧指定数目的字符 */
select Left('abcdefg',3) --abc
/* 返回字符表达式右侧指定数目的字符 */
select Right('abcd',1)--d
/* 去除字符串左边的空格 */
select Ltrim(' abcdefg')--abcdefg
/* 去除字符串右边的空格 */
select Rtrim('abcd ')--abcd
/* 返回由四个字符表达的SOUNDEX代码 */
select Soundex('abcd')--A120
/* 返回指定长度的空字符串 */
select Space(10)--[ ]
select Space(20)--[ ]
/* 返回从默认表达转换而来的字符串 */
select Str(100) --[ 100]
select Str(100,3)--[100]
select Str(14.4444,5,4)--[14.44]
/* 指定起始索引、长度、新字符串,替换字符串的局部内容。并包含起始索引所在字符。
*/
select Stuff('abcdefg',2,4,'xxx')--axxxfg
/*
指定原始字符串A、原始字符串中的局部字符串B、新字符串C,用C替换掉包含在A中的B。*/
select Replace('abcdefg','cd','xxx')--abxxxefg
/* 指定起始索引和长度,截取字符串。并包含起始索引所在字符。 */
select
Substring('abcdefg',2,3)--bcd
/* 返回表达第一个字符的UNICODE整数值 */
select
Unicode('a')--97
/* 返回字符表达式中最左侧字符的ASCII代码值 */
select
Ascii('a') --a:97,A:65
/* 将整数ASCII代码转换为字符 */
select
Char(97)--97:a,65:A
/* 返回具有给定的整数代码的UNICODE字符 */
select
Nchar(65)--A
/*
通配符一览:
% 包含零个或更多字符的任意字符串。
_ 任何单个字符。
[ ]
指定范围(例如 [a-f])或集合(例如 [abcdef])内的任何单个字符。
[^] 不在指定范围(例如 [^a - f])或集合(例如
[^abcdef])内的任何单个字符。
例如: select
PATINDEX('%[^0-9^.]%',REPLACE('5.aaaag',' ',''))
执行结果为3
*/