patindex函数的应用

patindex()的用法是patindex(patten,string),参数类型都是字符串,返回整型,找到的出现指定模式的第一个字符的位置,如果没有就返回0。

这个函数可以用来处理字符串,比如

1 去掉字符串里第一个;号(如果部分记录有分号,部分记录没有分号),--right(str,len()-patindex(‘;%',str))
2 去掉字符串里最后一位的;号(如果部分记录有分号,部分记录没有分号),--left(str,pattern('%;',str)-1)

3 取出;号分隔的第一段,如果有记录‘abc;’,‘abc;d’,‘abc;d;c’,需要取出;分隔的第一段,pattern需要使用‘%;%’,即需要保留后面的一个%,会返回第一个;号出现的位置。

4 取出第一个;号分隔后的所有剩余部分,set x=patindex('%;%',str),结果是right(str,len(str)-x)

 

另外,发现在sql server里字符串不区分全角或半角字符,即使是全角分号,也可以使用‘%;%’找出来。

你可能感兴趣的:(patindex函数的应用)