1. 程式人生 > >SQL中判斷字符串中包含字符的方法

SQL中判斷字符串中包含字符的方法

大小寫 其他 第一個 數據 區分 rest LG har lec

CHARINDEX:查某字符(串)是否包含在其他字符串中,返回字符串中指定表達式的起始位置。

PATINDEX:查某字符(串)是否包含在其他字符串中,返回指定表達式中某模式第一次出現的起始位置;如果在全部有效的文本和字符數據類型中沒有找到該模式,則返回零。從1開始下標(兩者的區別在於,後者支持模糊匹配,前者是全匹配)

1.SELECT PATINDEX(‘%[^0-9]%‘, ‘1235X461‘) 結果 5
2.SELECT PATINDEX(‘%[^0-9]%‘, ‘12350461‘) 結果 0
3.SELECT PATINDEX(‘%[0-9]%‘, ‘SUYLLG0‘) 結果 7
4.SELECT PATINDEX(‘%[0-9]%‘, ‘SUYLLG01‘) 結果 7

5.select PATINDEX(‘%ter%‘,‘interesting data‘) 結果 3

6.select PATINDEX(‘%t_ng%‘,‘interesting data‘) 結果 8

7.SELECT CHARINDEX(‘5‘, ‘1235X461‘) 結果 4 沒找到就是0 第一個參數是查找的字符(串),第二個是被查找字符串

8.select charindex(‘test‘,‘this Test is Test‘COLLATE Latin1_General_CS_AS) 結果0 區分大小寫CS

9.select charindex(‘test‘,‘this Test is Test‘COLLATE Latin1_General_CI_AS) 結果6 不區分大小寫CI

(自己實踐和整理別人資料,不做商業用途,只做學習交流使用)

SQL中判斷字符串中包含字符的方法