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” 的前后有多少字符!
stuff的功能:刪除指定長度的字符串並在指定的起始點插入另一組字符
STUFF ( character_expression , start , length , character_expression )
character_expression :操作的字符,
start:刪除和插入的起始點,
length:刪除的長度,
character_expression :要插入的字符
Select stuff("abcdef",2,3,"ghijk")
go
結果:aghijk
-------------------------------------------------------------------------------------------
功能:返回模式在字符串中第一次出現的位置
patindex( '%pattern%' , expression )
pattern:要查找的模式
expression:被找的字符串
select patindex('%jinweida%','123jinweida54')
go
結果:4