字符串函数
ASCII
返回字符串首字母的ascii编码
select ASCII('name')
select ASCII(name) from xuesheng
select *from xuesheng where ASCII(name)>=200
CHAR
--将ascii代码转换成对应的字符
select CHAR(13)--回车键
CHARINDEX
在一个表达式中搜索另一个表达式,并返回其起始位置(如果没找到,返回’0’)
select CHARINDEX('efg','abcdefgh')
select CHARINDEX('8',math)from xuesheng
concat
返回作为串联两个或更多字符串值的结果的字符串类似select 'abc'+'def'+'ghi'
*2012版中使用
SOUNDEX
返回一个由四个字符组成的代码 (SOUNDEX),用于评估两个字符串的相似性。
select SOUNDEX('abc'),soundex('abcd')
DIFFERENCE
返回一个整数值,指示两个字符表达式的 SOUNDEX 值之间的差异。
select DIFFERENCE('abc','abcd')
LEFT
select LEFT('abcdef',3)
select LEFT(math,3)from xuesheng
LEN
返回字符串长度,后面的空格不算
select LEN(' 123 ')
LOWER
将大写字母转化为小写字母
select lower('ABCDE')
LTRIM
去除左边空格,也就是字符串的前面空格,相当于.net中的trimstart
select LTRIM(' abc e')
NCHAR
PATINDEX
返回模式在指定表达式中第一次出现的起始位置;如果在所有有效的文本和字符数据类型中都找不到该模式,则返回零。(%除在首位或末位能找到外必须加上,若模式在首位加%到末位,若模式在末位加%到首位)语法:PATINDEX ( '%pattern%' , expression )
select PATINDEX('%abc%','1abcdef1')
REPLACE
查找到一个数据,并替换。(并无修改,只是显示)
语法:REPLACE ( string_expression , string_pattern , string_replacement )
select REPLACE('abcde','c','f')
select REPLACE(name,'王','张')from xuesheng
update xuesheng set name = REPLACE(name,'王','张')
(可以更改)
REPLICATE
复制,且能复制0——N次,相当于先剪切后粘贴的过程
select REPLICATE('abc',0)
select REPLICATE('abc',3)
REVERSE
翻转
select REVERSE('abcdef')
RIGHT
(与LEFT相对的)
RTRIM
(与LTRIM相对,去右边的空格)
SPACE
返回一串重复的空格
select 'a'+SPACE(3)+'b'
STR
将一个小数转换为字符串,length是字符串长度,第三个参数是截取小数点后几位(长度不能超过中间参数指定的长度,否则显示***,小数点后几位不能多于中间参数的长度,否则不显示)前面多出来的长度显示为空格,小数部分显示为‘0’
语法:STR ( float_expression [ , length [ , decimal ] ] )
select STR(4467.2345,8,3)
STUFF
删除指定索引位置开始的指定长度的字符,之后再指定索引处插入指定字符
语法:STUFF ( character_expression , start , length , replaceWith_expression )
select stuff('abc123',3,2,'helloworld')
SUBSTRING
返回 SQL Server 中的字符、二进制、文本或图像表达式的一部分。
语法:SUBSTRING ( expression ,start , length )
select SUBSTRING(name,1,1)from xuesheng
UPPER
将字符串中小写字母改为大写
select UPPER('123helloworld')