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


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

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM