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