SQL字符串函数
一、CHARINDEX( expressionToFind , expressionToSearch [ , start_location ] )
说明:查找目标字符串的起始位置
- expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000
- expressionToSearch :用于被查找的字符串
- start_location:开始查找的位置,为空时默认从第一位开始查找
select charindex('人民','中华人民共和国')
二、LEN(字串)
说明:返回文本字段中值的长度
- expression:要查询的字符串
select len('中国人民共和国')
三、UPPER(字串)
说明:返回字符串str,根据当前字符集映射的所有字符更改为大写
select upper('abcedf')
四、LOWER(字串)
说明:返回字符串str,根据当前字符集映射的所有字符更改为小写
select LOWER('ABCDEF')
五、LTRIM(字串)
说明:将所有字串起头的空白移除
select len(' abd343dfaf ')
select len(LTRIM(' abd343dfaf '))
六、RTRIM(字串)
说明: 将所有字串结尾的空白移除
select len(' abd343dfaf ')
select len(RTRIM(' abd343dfaf '))
七、TRIM ( [ [位置] [要移除的字串] FROM ] 字串)
说明: [位置] 的可能值为 LEADING (起头), TRAILING (结尾), or BOTH (起头及结尾)。 这个函数将把 [要移除的字串] 从字串的起头、结尾,或是起头及结尾移除。如果我们没有列出 [要移除的字串] 是什么的话,那空白就会被移除
八、RIGHT(expresion,LENGTH)
说明:从字符串右边返回指定数目的字符
select right('abcdefghij',5)
九、LEFT(expresion,LENGTH)
说明:从字符串右边返回指定数目的字符
select left('abcdefghij',5)
十、REPLACE(string_expression , string_pattern , string_replacement)
说明:用另一个字符串值替换出现的所有指定字符串值,用第三个表达式替换第一个表达式中出现的所有第二个表达式
- string_expression: 要搜索的字符串表达式,可以是字符或二进制数据类型
- string_pattern:要查找的子字符串,可以是字符或二进制数据类型,string_pattern 不能是空字符串
- string_replacement:要替换字符串,可以是字符或二进制数据类型
select replace('我爱中国人民共和国,我爱中国人民共和国,我爱中国人民共和国','人民','person')
十一、STUFF(string_expression , start , length ,replaceWith_expression)
说明:从第一个参数字符串的start开始,删除length长度字符串,并且用第四个参数替换
string_expression1:字符数据的表达式,可以是常量、变量,也可以是字符列或二进制数据列
start:一个整数值,指定删除和插入的开始位置,如果 start 为负或为零,则返回空字符串。 如果 start 的长度大于第一个 character_expression,则返回空字符串, start 的类型可以是 bigint
length:一个整数,指定要删除的字符数。 如果 length 为负,则返回空字符串。 如果 length 的长度大于第一个 character_expression,则最多可以删除到最后一个 character_expression 中的最后一个字符。 如果 length 为零,则在字符串中第一个字符之前插入内容, length 的类型可以是 bigint
replaceWith_expression:字符数据的表达式, 如果 replaceWith_expression 为 NULL,则在不插入任何内容的情况下删除字符
select stuff('我爱中国人民共和国',charindex('人民','我爱中国人民共和国'),len('人民'),'person')
十二、SUBSTRING ( expression, start, length )
说明:用来抓出一个字符串中间的部分字符串
expression:字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式
start:整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置
length:整数或可以隐式转换为 int 的表达式,指定子字符串的长度
select substring('我爱中国人民共和国',charindex('人民','我爱中国人民共和国'),len('人民'))