SQLserver中字串尋找功能patindex和charindex的區別 | SQL 字 串 搜尋
最近經常使用字串尋找功能。包括1、全匹配尋找字串2、模糊尋找字串CHARINDEX和PATINDEX函數都返回指定模式的開始位置。PATINDEX可使用萬用字元,而CHARINDEX不可以。 這兩個函數都帶有2個參數: 1希望擷取其位置的模式。使用PATINDEX,模式是可以包含萬用字元的字面字串。使用CHARINDEX,模式是字面字串(不能包含萬用字元)。 2字串值運算式(通常為列名)。 例如,尋找模式"wonderful"在titles表中notes列的某一特定行中的開始位置。複製代碼代碼如下: USEpubs SELECTCHARINDEX(wonderful,notes) FROMtitles ...
最近經常使用字串尋找功能。包括
1、全匹配尋找字串 2、模糊尋找字串
CHARINDEX 和 PATINDEX 函數都返回指定模式的開始位置。PATINDEX 可使用萬用字元,而 CHARINDEX 不可以。 這兩個函數都帶有2個參數: 1 希望擷取其位置的模式。使用 PATINDEX,模式是可以包含萬用字元的字面字串。使用 CHARINDEX,模式是字面字串(不能包含萬用字元)。 2 字串值運算式(通常為列名)。 例如,尋找模式"wonderful"在 titles 表中 notes 列的某一特定行中的開始位置。 複製代碼 代碼如下: USE pubs SELECT CHARINDEX(wonderful, notes) FROM titles WHERE title_id = TC3218
例如,使用萬用字元尋找模式"candies"在 Categories 表中的 Description 列的任一行中的開始位置: 複製代碼 代碼如下: USE Northwind GO SELECT CategoryID, PATINDEX(%candies%, Description)AS POSITION FROM Categories WHERE PATINDEX(%candies%, Description) <> 0
希望對大家有用。
如果上面仍然沒看懂的,可以繼續往下看:
一、[SQL] patindex 詳解 [Z] PATINDEX 返回指定運算式中某模式第一次出現的起始位置;如果在全部有效文本和字元資料類型中沒有找到該模式,則返回零。 文法 PATINDEX ( "%pattern%" , e-xpression ) 參數 pattern 一個字串。可以使用萬用字元,但 pattern 之前和之後必須有 % 字元(搜尋第一個和最後一個字元時除外)。pattern 是短字元資料類型類別的運算式。 e-xpression 一個運算式,通常為要在其中搜尋指定模式的列,e-xpression 為字串資料型別類別。 傳回型別 int 注釋 PATINDEX 對 text 資料類型很有用;除 IS NUL...