将通配符作为文字使用
可以将通配符模式匹配字符作为文字字符使用。若要将通配符作为文字字符使用,请将通配符放在方括号中。下表显示了几个使用 LIKE 关键字和 [ ] 通配符的示例。
符号 | 含义 |
---|---|
LIKE '5[%]' | 5% |
LIKE '[_]n' | _n |
LIKE '[a-cdf]' | a、b、c、d 或 f |
LIKE '[-acdf]' | -、a、c、d 或 f |
LIKE '[ [ ]' | [ |
LIKE ']' | ] |
LIKE 'abc[_]d%' | abc_d 和 abc_de |
LIKE 'abc[def]' | abcd、abce 和 abcf |
使用 ESCAPE 子句的模式匹配
可搜索包含一个或多个特殊通配符的字符串。例如,customers 数据库中的 discounts 表可能存储含百分号 (%) 的折扣值。若要搜索作为字符而不是通配符的百分号,必须提供 ESCAPE 关键字和转义符。例如,一个样本数据库包含名为 comment 的列,该列含文本 30%。若要搜索在 comment 列中的任何位置包含字符串 30% 的任何行,请指定 WHERE comment LIKE '%30!%%' ESCAPE '!'
之类的 WHERE 子句。如果未指定 ESCAPE 和转义符,则数据库引擎 将返回包含字符串 30 的所有行。
如果 LIKE 模式中的转义符后面没有字符,则该模式无效并且 LIKE 返回 FALSE。如果转义符后面的字符不是通配符,则将放弃转义符并将该转义符后面的字符作为该模式中的常规字符处理。这包括百分号 (%)、下划线 (_) 和左括号 ([) 通配符(如果它们包含在双括号 ([ ]) 中)。另外,在双括号字符 ([]) 内,可以使用转义符并将插入符号 (^)、连字符 () 和右括号 (]) 转义。