数据库通配符详解

来源:互联网 发布:刘彻爱过卫子夫 知乎 编辑:程序博客网 时间:2024/06/01 18:48

使用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用:
WHERE ColumnA LIKE '%5/%%' ESCAPE '/'

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用于字符串,,,,,如果要对数字进行操作用in...in (200,230))

通配符描述示例%包含零个或更多字符的任意字符串。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 子句的模式匹配

原创粉丝点击