SQL中like語句萬用字元、轉義符與括號的使用

NO IMAGE

https://blog.csdn.net/kpchen_0508/article/details/45167481

可以搜尋萬用字元字元。有兩種方法可指定平常用作萬用字元的字元:

使用 ESCAPE 關鍵字定義轉義符。在模式中,當轉義符置於萬用字元之前時,該萬用字元就解釋為普通字元。例如,要搜尋在任意位置包含字串 5% 的字串,請使用: 
WHERE ColumnA LIKE ‘%5/%%’ ESCAPE ‘/’

在上述 LIKE 子句中,前導和結尾百分號 (%) 解釋為萬用字元,而斜槓 (/) 之後的百分號解釋為字元 %。

在方括號 ([ ]) 中只包含萬用字元本身。要搜尋破折號 (-) 而不是用它指定搜尋範圍,請將破折號指定為方括號內的第一個字元: 
WHERE ColumnA LIKE ‘9[-]5’

下表顯示了括在方括號內的萬用字元的用法。

符號 含義 
LIKE ‘5[%]’ 5% 
LIKE ‘5%’ 5 後跟 0 個或更多字元的字串 
LIKE ‘[_]n’ _n 
LIKE ‘_n’ an, in, on (and so on) 
LIKE ‘[a-cdf]’ a, b, c, d, or f 
LIKE ‘[-acdf]’ -, a, c, d, or f 
LIKE ‘[ [ ]’ [ 
LIKE ‘]’ ]


二、例項說明:

在表PersonalMember中查詢strloginname欄位中含有”[“的記錄。


可用三條語句:
1、
select strloginname,* from PersonalMember where strloginname like ‘%\[%’ escape ‘\’

2、(說明”\”與”/”均可與escape關鍵字結合作為轉義符)
select strloginname,* from PersonalMember where strloginname like ‘%/[%’ escape ‘/’

3、
select strloginname,* from dbo.PersonalMember where charindex(‘[‘,strloginname)>0