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

相關文章
相關標籤/搜索