PATINDEX
返回指定表達式中某模式第一次出現的起始位置;如果在全部有效的文本和字符數據類型中沒有找到該模式,則返回零。 語法 PATINDEX ( '%pattern%' , expression ) 參數 pattern 一個字符串。可以使用通配符,但 pattern 之前和之後必須有 % 字符(搜索第一個和最後一個字符時除外)。pattern 是短字符數據類型類別的表達式。 expression 一個表達式,通常爲要在其中搜索指定模式的列,expression 爲字符串數據類型類別。 返回類型 int 註釋 PATINDEX 對 text 數據類型很有用;除 IS NULL、IS NOT NULL 和 LIKE(這些是 Where 子句中對 text 類型有效的僅有的其它比較運算)外,PATINDEX 也可用於 Where 子句中。 ----------------------------------------- 例一: 找出Northwind.dbo.Categories表中Description字段中是包含單詞“Bread”或“bread”的所有記錄,那麼選擇語句就可能是這樣: Select Description from Northwind.dbo.Categories Where patindex('%[b,B]read%',description) > 0 PATINDEX 中可以使用通配符來確定大寫和小寫的“b” 例二: 找出Northwind.dbo.Categories表中Description字段中是包含單詞“Bread”或“bread”,且第二子字母不是“e”的記錄。 select Description from Northwind.dbo.Categories where patindex('%[b,B]read%',description) > 0 and patindex('_[^e]%',description) = 1 通過在條件語句中增加一個使用^通配符的PATINDEX函數,我們可以過濾掉“Dessert, candies, and sweet breads”這條記錄。上面的查詢結果只有一條記錄。 PATINDEX與CHARINDEX PATINDEX函數支持使用通配符,可以用在很多有變化的查找中。而CHARINDEX不可以。根據你自己不同的情況,這兩個函數對你在SQL Server中的字符串的搜索、控制、分析很有幫助。 |
sql PATINDEX
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.