CHARINDEX 函数
返回字符或者字符串在另一个字符串中的起始位置。
CHARINDEX 函数调用方法如下:
CHARINDEX ( expression1 , expression2 [ , start_location ] )
Expression1 是要到 expression2 中寻找的字符中,start_location 是 CHARINDEX 函数开始在 expression2 中找expression1 的位置。
CHARINDEX 函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如 CHARINDEX 没有找到要找的字符串,那么函数整数“0”。
select CHARINDEX ('cd','abcdef') GO /* 3 */
PATINDEX 函数
PATINDEX 函数返回字符或者字符串在另一个字符串或者表达式中的起始位置,PATINDEX 函数支持搜索字符串中使用通配符,这使PATINDEX函数对于变化的搜索字符串很有价值。
和 CHARINDEX 函数一样,PATINDEX 函数返回搜索字符串在被搜索字符串中的起始位置。假如有这样一个PATINDEX 函数:
Select PATINDEX('%BC%','ABCD') GO
这个 PATINDEX 函数返回的结果是2,这和 CHARINDEX 函数一样。这里的 % 标记告诉 PATINDEX 函数去找字符串 “BC”,不管被搜索的字符串中在 “BC” 的前后有多少字符!
stuff的功能:删除指定长度的字符串并在指定的起始点插入另一组字符
STUFF ( character_expression , start , length , character_expression )
character_expression :操作的字符,
start:删除和插入的起始点,
length:删除的长度,
character_expression :要插入的字符
Select stuff('abcdef',2,3,'ghijk') GO /* aghijkef */
-------------------------------------------------------------------------------------------
功能:返回模式在字符串中第一次出现的位置
patindex( '%pattern%' , expression )
pattern:要查找的模式
expression:被找的字符串
select patindex('%jinweida%','123jinweida54') GO /* 4 */