【SQL】CHARINDEX及PATINDEX語法

CHARINDEX和PATINDEX函數常常用來在一段字符中搜索字符或者字符串。如果被搜索的字符中包含有要搜索的字符,那麼這兩個函數返回一個非零的整數,這個整數是要搜索的字符在被搜索的字符中的開始位數。PATINDEX函數支持使用通配符來進行搜索,然而CHARINDEX不支持通佩符。

CHARINDEX:此函數返回一個整數,返回的整數是要找的字符串在被找的字符串中的位置。假如CHARINDEX沒有找到要找的字符串,那麼函數整數「0」。
語法:CHARINDEX ( expression1 , expression2 [ , start_location ] ) 
說明:expression1是要到expression2中尋找的字符中,start_location是CHARINDEX函數開始在expression2中找expression1的位置。
Ex: SELECT CHARINDEX('Jason', 'Hello~Welcome to Jason blog') => 18

PATINDEX:函數返回字符或者字符串在另一個字符串或者表達式中的起始位置,PATINDEX函數支持搜索字符串中使用通配符,這使PATINDEX函數對於變化的搜索字符串很有價值。
語法:PATINDEX ( '%pattern%' , expression )
說明:pattern是你要搜索的字符串,expression是被搜索的字符串。一般情況下expression是一個表中的一個字段,pattern的前後需要用「%」標記,除非你搜索的字符串在被收縮的字符串的最前面或者最後面。
Ex:SELECT PATINDEX('%Jason%', 'Hi~My name is Jason Lian') => 15

留言

這個網誌中的熱門文章

【ASP】日期轉換(西元<-->民國)

【VB】使用NPOI元件來匯出Excel--DataTableToExcel

【SQL】符號切割字串變成多欄