SQL CHARINDEX 函数、InStr 函数、PATINDEX 函数、stuff函数

CHARINDEX 函数
返回字符或者字符串在另外一个字符串中的起始位置。
CHARINDEX 函数调用方法以下:
CHARINDEX ( expression1 , expression2 [ , start_location ] ) 
Expression1 是要到 expression2 中寻找的字符中,start_location 是 CHARINDEX 函数开始在 expression2 中找expression1 的位置。
CHARINDEX 函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如 CHARINDEX 没有找到要找的字符串,那么函数整数“0”。

InStr 函数
返回某字符串在另外一字符串中第一次出现的位置。
InStr 函数调用方法以下:
InStr([start, ]string1, string2[, compare])
参数
start
可选项。数值表达式,用于设置每次搜索的开始位置。若是省略,将从第一个字符的位置开始搜索。若是 start 包含 Null,则会出现错误。若是已指定 compare,则必需要有 start 参数。
string1
必选项。接受搜索的字符串表达式。
string2
必选项。要搜索的字符串表达式。
compare
可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。若是省略,将执行二进制比较。

两个函数的性质很是效果同样就是搜索一个字符是否出如今另一个字符串里面

PATINDEX 函数
PATINDEX 函数返回字符或者字符串在另外一个字符串或者表达式中的起始位置,PATINDEX 函数支持搜索字符串中使用通配符,这使PATINDEX函数对于变化的搜索字符串颇有价值。
和 CHARINDEX 函数同样,PATINDEX 函数返回搜索字符串在被搜索字符串中的起始位置。假若有这样一个PATINDEX 函数:
      PATINDEX(’%BC%’,’ABCD’)
      这个 PATINDEX 函数返回的结果是2,这和 CHARINDEX 函数同样。这里的 % 标记告诉 PATINDEX 函数去找字符串 “BC”,无论被搜索的字符串中在 “BC” 的先后有多少字符!express

 

stuff函数函数

stuff的功能:删除指定长度的字符串并在指定的起始点插入另外一组字符spa

STUFF ( character_expression , start , length , character_expression )字符串

character_expression :操做的字符,string

start:删除和插入的起始点,io

length:删除的长度,class

character_expression :要插入的字符select

Select stuff("abcdef",2,3,"ghijk")搜索

go二进制

结果:aghijk

-------------------------------------------------------------------------------------------

功能:返回模式在字符串中第一次出现的位置

patindex( '%pattern%' , expression )

pattern:要查找的模式

expression:被找的字符串

select patindex('%jinweida%','123jinweida54')

go

结果:4

相关文章
相关标签/搜索