SQL SERVER内建函数(2)--字符串函数
1.STR:将数字转换为字符,用可选的参数来指定结果的总长度(包括小数点和小数点后的位数)。
eg:SELECT STR(123.45678, 6, 2) 123.45678为要被转换的对象,6为被转化后的字符串的长度,2为小数点后的位数.
result 为'123.46' --可以看出系统自动对小数点第3位进行四舍五入
又如:SELECT STR(123.45678, 6, 1) 该例中要求保留小数点后一位数字,单仍要求返回6位长度的字符串.则将在结果开头补空格.
result 为' 123.5' --开头有空格,使整个字符串长度为6.
2.SUBSTRING 函数:返回字符、二进制字符串或文本字符串的一部分
语法:SUBSTRING ( expression ,start , length ) 从expreession表达式的第start个字符开始去length个
参数:
expression: 是字符串、二进制字符串、文本、图像、列或包含列的表达式。不要使用包含聚合函数的表达式。
start :指定子字符串开始位置的整数。start 可以为 bigint 类型。
length :一个正整数,指定要返回的 expression 的字符数或字节数。如果 length 为负,则会返回错误。length 可以是 bigint 类型。
eg:select SUBSTRING ('expression',3 , 4 ) result :pres
3.字符串替代函数
Replace函数:用另一个字符串值替换出现的所有指定字符串值。
语法:REPLACE ( string_expression1 , string_expression2 , string_expression3 )
参数:
string_expression1:要搜索的字符串表达式。string_expression1 可以是字符或二进制数据类型。
string_expression2:要查找的子字符串。string_expression2 可以是字符或二进制数据类型
string_expression3:替换字符串。string_expression3 可以是字符或二进制数据类型。
eg:SELECT REPLACE('abcdefghicde','cde','xxx'); result:abxxxfghixxx
STUFF()函数:功能同replace类似.详见实例
语法:STUFF (<character_expression1>, <start_ position>, <length>,<character_expression2>)
eg:select stuff('123456789',2,3,'aaa') result:1aaa56789
4.LTRIM/RTRIM:删除字符串左右两边空格.Ltrim删除左.Rtrim删除右.
5.REVERSE:返回指定字符串的反转. eg:select reverse('sql server') result:revres lqs
6.LEFT/RIGHT:返回指定字符串的左/右起指定个字符. eg:Left('sql server',4) result:'SQL '注意最后一位为空格.
7.LEN:返回字符串长度.(忽略串尾空格) eg:select len('123 ') result:3 对比:select len(' 123') result为4
8.UPPER/LOWER:大小写转化.upper返回全大写,lower返回全小写.
9.REPLICATE():语法:REPLICATE (character_expression integer_expression) 返回一个重复character_expression 指定次数的字符串.若integer_expression 值为负值,则返回NULL eg:select REPLICATE('123','3') result:123123123
10.charindex函数:第一个参数你要查找的char,第二个参数你被查找的字符串 返回参数一在参数二的位置
eg:select charindex('a','lihan') result为4