Sqlserver中的一些字符串函数的处理方法
一、字符串的比较函数
1. CharIndex(要查找的字符串,字符串,起始位置(可选)) 获取要查找的字符串出现的第一个地方的位置索引(该索引是从1开始的),若未查找到则返回0;
注释:该方法不能用于Text和Image的数据类型中。
2.PatIndex(要查找的字符串,字符串)获取字符串中指定的字符串出现的位置,但查找的字符串前需加“%”,可用于Text、varchar、char等数据类型。
二、字符串转换函数:
1.Str(要转换的字符串,转换的字符串的长度,转换所需保留的小数点的位数):将数值类型的字符串转为float类型
如:select STR('23.2342',4,2) 返回:23.2
三、字符串操作函数:
1、QuoteName(字符串,分隔符的单字符字符串):将字符串转为有效的标识,如:select QUOTENAME('sdf','''') 返回:'sdf'
注释:分隔符的单字符字符串可以是单引号 (')、左方括号或右方括号 ([ ]) 或者英文双引号 (")。如果未指定 quote_character,则使用方括号。
2.Replicate(字符串,字符串重复的次数):对原始的字符串进行重复追加生成一个新的字符串,如:select REPLICATE('sa',3) 最后返回:sasasa
3.Reverse(字符串) : 对字符串进行倒序输出, 如:select REVERSE('sac') 返回:cas
4.Replace(字符串,要替换的字符串,指定替换的字符串):获取替换后的字符串 如:select REPLACE('saddfs','d','e') 返回:saeefs
5.Space(指定长度):获取指定长度的空格,若指定的长度值为负数则返回null 如:select SPACE(-1) 返回:null 如:select SPACE(1) 返回:一个空格
6.Stuff(原始字符串,起始位置,指定的字符串的长度,插入的字符串):将字符串插入到另一个字符串中。 它从第一个字符串的开始位置删除指定长度的字符;然后将第二个字符串插入到第一个字符串的开始位置。 如:select STUFF('sdfsdfs',0,8,'ee') 返回:null 如:select STUFF('sdfsdfs',1,2,'ee') 返回:eefsdfs 如:select STUFF('sdfsdfs',1,8,'ee') 返回:ee
注释:如果开始位置或长度值是负数,或者开始位置大于原始字符串的长度,则返回 Null 字符串。 如果开始位置为 0,则返回 Null 值。 如果要删除的长度大于原始字符串的长度,则删除到原始字符串中的第一个字符。
7. Left(字符串,截取的字符串的长度):获取从左边开始截取指定长度的字符串 如:select LEFT('sdfsdf',2) 返回:sd
8.Right(字符串,截取的字符串的长度):获取从右边开始截取指定长度的字符串 如:select right('sdfsdf',2) 返回:df