内置模式匹配可帮助您比较字符串。 下表显示了可用于 Like 运算符的通配符及其匹配项。
| 角色 () 模式中 | 表达式中的匹配项 |
|---|---|
? 或 _ (下划线) |
任何单字符 |
* 或 % |
零个或多个字符 |
# |
任何一位数的 (0-9) |
[*charlist*] |
字符列表中的任意单字符 |
[!*charlist*] |
不在字符列表中的任意单字符 |
您可以使用一组一个或多个字符 (字符列表) 用括号) ([ ] 以匹配 表达式中的任何单个字符。
Charlist 可以包含 ANSI 字符集中的几乎任何字符,包括数字。 只有在括在括号中的情况下,才能使用特殊字符左括号 ([) 、问号 () ? 、数字符号 (#) 和星号 () * 直接匹配。 不能在组内使用右括号 (]) 来匹配自身,但可以在组外将其用作单个字符。
除了用括号括起来的简单字符列表外, charlist 还可以使用连字符 (-) 来分隔范围的上限和下限来指定字符范围。 例如,如果表达式中的相应字符位置在 到 的Z范围内A包含任何大写字母,则使用 in 模式会导致[A-Z]匹配。 可以在括号中包含多个范围而不分隔范围。 例如, [a-zA-Z0-9] 匹配任何字母数字字符。
ANSI SQL 通配符 (% 和 _) 仅适用于 Microsoft Access 数据库引擎和 Access OLE DB 提供程序。 访问或 DAO 将它们视为文本。
模式匹配的其他重要规则包括:
-
charlist 开头 (
!) 感叹号表示如果在表达式中找到除 charlist 中字符以外的任何字符则进行匹配。 在括号外使用时,感叹号自身匹配。 - 您可以在 charlist 的开头 (感叹号后面使用连字符 (
-) (如果一个) 使用)或在 charlist 的末尾匹配自身。 在任意其他位置,连字符可标识一个范围内的 ANSI 字符。 - 指定字符范围时,字符必须按升序排序顺序 (
A-Z或0-100) 显示。[A-Z]是有效模式,但[Z-A]不是。 - 字符序列
[ ]被忽略。 它被视为零长度字符串 ("") 。