語句
萬用字元:
萬用字元描述樣本%包含零個或更多字元的任一字元串。WHERE title LIKE '%computer%' 將尋找處於書名任意位置的包含單詞 computer 的所有書名。_(底線)任何單個字元。WHERE au_fname LIKE '_ean' 將尋找以 ean 結尾的所有 4 個字母的名字(Dean、Sean 等)。[ ]指定範圍 ([a-f]) 或集合 ([abcdef]) 中的任何單個字元。WHERE au_lname LIKE '[C-P]arsen' 將尋找以arsen 結尾且以介於 C 與 P 之間的任何單個字元開始的作者姓氏,例如,Carsen、Larsen、Karsen 等。[^]不屬於指定範圍 ([a-f]) 或集合 ([abcdef]) 的任何單個字元。WHERE au_lname LIKE 'de[^l]%' 將尋找以 de 開始且其後的字母不為 l 的所有作者的姓氏。
將萬用字元作為文字使用
可以將萬用字元模式比對字元串用作文字字串,方法是將萬用字元放在括弧中。下表顯示了使用 LIKE 關鍵字和 [ ] 萬用字元的樣本。
符號含義LIKE '5[%]'5%LIKE '[_]n'_nLIKE '[a-cdf]'a、b、c、d 或 fLIKE '[-acdf]'-、a、c、d 或 fLIKE '[ [ ]'[LIKE ']']LIKE 'abc[_]d%'abc_d 和 abc_deLIKE 'abc[def]'abcd、abce 和 abcf
使用 ESCAPE 子句的模式比對
可搜尋包含一個或多個特殊萬用字元的字串。例如,customers 資料庫中的 discounts 表可能儲存含百分比符號 (%) 的折扣值。若要搜尋作為字元而不是萬用字元的百分比符號,必須提供 ESCAPE 關鍵字和轉義符。例如,一個樣本資料庫包含名為 comment 的列,該列含文本 30%。若要搜尋在 comment 列中的任何位置包含字串 30% 的任何行,請指定由 WHERE comment LIKE '%30!%%' ESCAPE '!' 組成的 WHERE 子句。如果不指定 ESCAPE 和轉義符,SQL Server 將返回所有含字串 30 的行。
下例說明如何在 pubs 資料庫 titles 表的 notes 列中搜尋字串"50% off when 100 or more copies are purchased":
SELECT notes FROM titles WHERE notes LIKE '50%% off when 100 or more copies are purchased' ESCAPE '%'