CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
返回字符或者字符串在另一个字符串中的起始位置
实例:
第一个查询语句的结果为7,说明第一个参数中的字符串在第二个参数中的位置是7,从1开始计算.
第二个查询语句的结果为0,说明从第8位开始,没有查询到第一个参数在第二个参数中的位置.
实例命令:
--CHARINDEX函数,在一个字符串中查找另一个字符串,如果能够找到对应的字符串,则返回该字符串位置,否则返回0
--两个参数,不指定开始位置,默认从1开始
SELECT CHARINDEX('zxw','www.51zxw.net') --结果 7
--三个参数,第一个是查找字符串,第二个是源字符串,第三个是开始查找位置
SELECT CHARINDEX('zxw','www.51zxw.net',8) --结果 0
LEFT(str,len)
返回从字符串str左边开始指定个数(len)的字符串
第一个查询结果是整个email字符串
第二个查询结果是提取第一个查询结果中的用户名信息(@前面的字符串)
实例命令:
--实例:提取邮箱中的用户名
select email from [dbo].[student] where [sno]=1
select LEFT(email,CHARINDEX('@',email)-1) as 用户名 from [dbo].[student] where [sno]=1
REPLACE ( string_expression , string_pattern , string_replacement )
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。
实例:
第一个语句是把白色替换成了蓝色
第二个语句是把白色替换成了空字符串('')
实例命令:
--REPLACE替换字符串中的字符
select REPLACE('我最喜欢的颜色是白色','白色','蓝色') --我最喜欢的颜色是蓝色
select REPLACE('我最喜欢的颜色是白色','白色','') --我最喜欢的颜色是
STUFF(<character_expression>,<开始>,<长度>,<character_expression>)
STUFF字符串函数是将字符串插入到另一个字符串中。它会删除开始位置第一个字符串中的指定长度的字符,然后将第二个字符串插入到开始位置的第一个字符串中
实例:
这条命令实现了将 'abcdef ' 字符串,从第二位开始用 '我要自学网' 替换 三个字符.
实例命令:
--STUFF 参数1:源字符串 参数2:开始位置 参数3:删除的长度 参数4:插入的新字符串
select STUFF('abcdef',2,3,'我要自学网')
常用函数远不止这些,其他的函数可以自行查询.