Sql查詢中的通配字符

如果想查找“_cs”結尾的的賬戶
select * from [user] where loginname like '%_cs'是不行的,_ 被認爲是任意的字符,
所以需要轉義字符,有兩種寫法:
select * from [user] where loginname like '%[_]cs'
select * from [user] where loginname like '%/_cs' escape'/'

通配符 含義
% 包含零個或更多字符的任意字符串。
_ 任何單個字符。
[ ] 指定範圍(例如 [a-f])或集合(例如 [abcdef])內的任何單個字符。
[^] 不在指定範圍(例如 [^a - f])或集合(例如 [^abcdef])內的任何單個字符。
例如:
  • LIKE 'Mc%' 將搜索以字母 Mc 開頭的所有字符串(如 McBadden)。

  • LIKE '%inger' 將搜索以字母 inger 結尾的所有字符串(如 Ringer、Stringer)。

  • LIKE '%en%' 將搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。

  • LIKE '_heryl' 將搜索以字母 heryl 結尾的所有六個字母的名稱(如 Cheryl、Sheryl)。

  • LIKE '[CK]ars[eo]n' 將搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。

  • LIKE '[M-Z]inger' 將搜索以字符串 inger 結尾、以從 M 到 Z 的任何單個字母開頭的所有名稱(如 Ringer)。

  • LIKE 'M[^c]%' 將搜索以字母 M 開頭,並且第二個字母不是 c 的所有名稱(如 MacFeather)。
使用 ESCAPE 關鍵字定義轉義符。在模式中,當轉義符置於通配符之前時,該通配符就解釋爲普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,請使用:
WHERE ColumnA LIKE '%5/%%' ESCAPE '/'
符號 含義
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 ']' ]

發佈了78 篇原創文章 · 獲贊 8 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章