欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQLServer2008 字符串函数一览表(转)

程序员文章站 2022-04-13 23:16:07
...

/* 字符串函数 (PS.索引都从1开始计算)*/ /* 指定字符(或字符串)A、字符串B、起始索引。获得A在B中的索引。*/ select Charindex ('d','abcdefg',0) --4 select Charindex ('bc','abcdefg',0) --2 /* 以整数返回两个字符表达式的SOUNDEX之差 */ select Differ

/* 字符串函数 (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
*/