返回指定表示式中某模式第一次出現的起始位置;如果在全部有效的文字和字元資料型別中沒有找到該模式,則返回零。
transact-sql 語法約定
語法patindex ( 『%pattern%』 , expression )
備註如 果 pattern 或 expression 為 null,則當資料庫的相容級別為 70 時,patindex 將返回 null;如果資料庫相容級別小於或等於 65,則僅當 pattern 和 expression 同時為 null 時,patindex 才返回 null。
patindex 基於輸入的排序規則執行比較。若要以指定排序規則進行比較,則可以使用 collate 將顯式排序規則應用於輸入值。
引數pattern
乙個文字字串。可以使用萬用字元,但 pattern 之前和之後必須有 % 字元(搜尋第乙個或最後乙個字元時除外)。pattern 是字串資料型別類別的表示式。
expression
乙個表示式,通常為要在其中搜尋指定模式的列,expression 為字串資料型別類別。
返回型別
如果 expression 的資料型別為 varchar(max) 或 nvarchar(max),則為 bigint,否則為 int。
示例a. 在 patindex 中使用模式
以下示例查詢模式 ensure 在 document 表的 documentsummary 列的某一特定行中的開始位置。
use adventureworks;
goselect patindex(『%ensure%』,documentsummary)
from production.document
where documentid = 3;
go
下面是結果集:
複製**
———–
64(1 row(s) affected)
如果未通過 where 子句限制要搜尋的行,查詢將返回表中的所有行,對在其中找到該模式的所有行報告非零值,對在其中未找到該模式的所有行報告零值。
b. 在 patindex 中使用萬用字元
以下示例使用萬用字元查詢模式 en_ure 在 document 表中 documentsummary 列的某一特定行中的開始位置,其中下劃線為代表任何字元的萬用字元。
use adventureworks;
goselect patindex(『%en_ure%』, documentsummary)
from production.document
where documentid = 3;
go
下面是結果集:
————
64(1 row(s) affected)
如果沒有限制要搜尋的行,查詢將返回表中的所有行,對在其中找到該模式的所有行報告非零值。
c. 在 patindex 中使用 collate
以下示例使用 collate 函式顯式指定要搜尋的表示式的排序規則。
use tempdb;
goselect patindex ( 『%ein%』, 『das ist ein test』collate latin1_general_bin) ;
go
SQL中 patindex函式的用法
返回pattern字串在表示式expression裡第一次出現的位置,起始值從1開始算。pattern字串在expression表示式裡沒找就返回0,對所有有效的文字和字串就是有效的資料型別。描述一下此函式的具體用法 pattern 的用法類似於 like pattern 的用法,也就是模糊查詢其p...
SQL中 patindex函式的用法
返回pattern字串在表示式expression裡第一次出現的位置,起始值從1開始算,匹配不上結果 0 舉例 select patindex abc aabcaabcabc 2,abc出現的第乙個位置 select patindex abc aabcaabcabc 9,abc在結尾出現的位置 se...
SQL中 patindex函式的用法
原文 sql中 patindex函式的用法 語法格式 patindex pattern expression 返回pattern字串在表示式expression裡第一次出現的位置,起始值從1開始算。pattern字串在expression表示式裡沒找就返回0,對所有有效的文字和字串就是有效的資料型別...