SQL Server 2005 函数大全
字符串函数 SubString在SQL和C#中不同,
一,select substring('abcde',-1,3)
select LEN(substring('abcde',-1,3))
--out'a'
--out1
二,select substring('abcde',3,4)
select LEN(substring('abcde',3,4))
--out'cde'
--out3
也就是说,选的起始位置是固定的,但是,长度是可变的.
表达式:是常量、变量、列或函数等与运算符的任意组合。以下参数中表达式类型是指表达式经运算后返回的值的类型
函数名称 |
参数 |
示例 |
说明 |
ascii |
(字符串表达式) |
select ascii('abc') 返回 97 |
返回字符串中最左侧的字符的 ASCII码。 |
char |
(整数表达式) |
select char(100) 返回 d |
把ASCII 码转换为字符。 介于 0 和 255 之间的整数。如果该整数表达式不在此范围内,将返回 NULL 值。 |
charindex |
(字符串表达式1,字符串表达式2[,整数表达式]) |
select charindex('ab','BCabTabD')返回3 select charindex('ab','BCabTabD',4)返回6 |
在字符串2中查找字符串1,如果存在返回第一个匹配的位置,如果不存在返回0。如果字符串1和字符串2中有一个是null则返回null。 可以指定在字符串2中查找的起始位置。 |
difference |
(字符串表达式1,字符串表达式2) |
select difference('Green','Greene')返回4 |
返回一个0到4的整数值,指示两个字符表达式的之间的相似程度。0 表示几乎不同或完全不同,4表示几乎相同或完全相同。注意相似并不代表相等 |
left |
(字符串表达式,整数表达式) |
select left('abcdefg',2) 返回 ab |
返回字符串中从左边开始指定个数的字符。 |
right |
(字符串表达式,整数表达式) |
select right('abcdefg',2) 返回fg |
返回字符串中从右边开始指定个数的字符。 |
len |
(字符串表达式) |
select len('abcdefg')返回 7 select len('abcdefg ') 返回7 |
返回指定字符串表达式的字符数,其中不包含尾随空格。 |
lower |
(字符串表达式) |
select lower('ABCDEF')返回 abcdef |
返回大写字符数据转换为小写的字符表达式。 |
upper |
(字符串表达式) |
select upper('abcdef')返回 ABCDEF |
返回小写字符数据转换为大写的字符表达式。 |
ltrim |
(字符串表达式) |
select ltrim(' abc')返回 abc |
返回删除了前导空格之后的字符表达式。 |
rtrim |
(字符串表达式) |
select rtrim('abc ')返回 abc |
返回删除了尾随空格之后的字符表达式。 |
patindex |
(字符串表达式1,字符串表达式2) |
select patindex('%ab%','123ab456')返回4 select patindex('ab%','123ab456')返回0 select patindex('___ab%','123ab456')返回1 select patindex('___ab_','123ab456')返回0 |
在字符串表达式1中可以使用通配符,此字符串的第一个字符和最后一个字符通常是%。 %表示任意多个字符,_表示任意字符 返回字符串表达式2中字符串表达式1所指定模式第一次出现的起始位置。没有找到返回0 |
reverse |
(字符串表达式) |
select reverse('abcde')返回 edcba |
返回指定字符串反转后的新字符串 |
space |
(整数表达式) |
select 'a'+space(2)+'b' 返回 a b |
返回由指定数目的空格组成的字符串。 |
str |
(float型小数[,总长度[,小数点后保留的位数]]) |
select str(123.451)返回 123(123前面有空格) select str(123.451,3)返回123 select str(123.451,7,3)返回123.451 select str(123.451,7,1)返回123.5 select str(123.451,5,3)返回123.5 select str(123.651,2)返回** |
返回由数字转换成的字符串。返回字符数不到总长度的前面补空格,超过总长度的截断小数位。如果需要截断整数位则返回**。 注意在截断时遵循四舍五入 总长度。它包括小数点、符号、数字以及空格。默认值为10。 小数点后最多保留16位。默认不保留小数点后面的数字 |
stuff |
(字符串表达式1,开始位置,长度,字符串表达式2) |
select stuff('abcdef',2,2,'123') 返回 a123def |
在字符串表达式1中在指定的开始位置删除指定长度的字符,并在指定的开始位置处插入字符串表达式2。返回新字符串 |
substring |
(字符串表达式,开始位置,长度) |
//起始下标为1. select substring('abcde',0,3) --out 'ab' select substring('abcde',1,3) --out 'abc' select substring('abcdef',2,2) --out 'bc' |
返回子字符串 |
replace |
(字符串表达式1,字符串表达式2,字符串表达式3) |
select replace('abcttabchhabc','abc','123') 返回 123tt123hh123 |
用字符串表达式3替换字符串表达式1中出现的所有字符串表达式2的匹配项。返回新的字符串 |