适用于:Access 2013、Office 2013
内置的模式匹配方法提供了一个用于字符串比较的通用工具。 下表中展示了可以用于 Like 运算符的通配符,以及与它们匹配的数字和字符串。
pattern 中的字符 |
expression 中的匹配项 |
|---|---|
? 或 _(下划线) |
任意单个字符 |
* 或 % |
零个或多个字符 |
# |
任何单个数字 (0 - 9) |
[charlist] |
在 charlist 中的任何单个字符。 |
[!charlist] |
不在 charlist 中的任何单个字符。 |
可以使用一组由中括号 ([]) 括起来的一个或多个字符 (charlist) 来匹配 expression 中的任何单个字符,并且 charlist 几乎可以包含 ANSI 字符集中的所有字符(包括数字)。 只有当左方括号 ([)、问号 (?)、数字号 (#) 和星号 (*) 等特殊字符位于括号中时,才能使用这些字符直接与其自身进行匹配。 不能在组中将右方括号与其自身匹配,但可以将其作为单个字符用于组外。
除了括在括号中的字符的简单列表外, charlist 还可以通过使用连字符 ( ) 来分隔范围的上限和下限来指定字符范围。 例如,如果在 模式 中使用 [A-Z],则 表达式 中的相应字符位置包含 A 到 Z 范围中的任何大写字母,则会导致匹配。可以在括号中包含多个区域,而无需分隔区域。 例如,[a-zA-Z0-9] 匹配任何字母数字字符。
请务必注意,ANSI SQL 通配符 (%) 和 (_) 仅适用于 Microsoft Jet 版本 4.X 和 Microsoft OLE DB Provider for Jet。 如果用于 Microsoft Access 或 DAO,则被视为文本。
用于模式匹配的其他重要规则如下所示:
charlist 开头的感叹号 (!) 表示:如果在 expression 中发现的字符不在 charlist 中,则进行匹配。 在括号外使用感叹号时,感叹号匹配其本身。
可以将连字符 (-) 用于 charlist 的开头(如果用了感叹号,则放在感叹号之后)或末尾以便与其自身匹配。 如果用于任何其他位置,则标识 ANSI 字符的范围。
指定一系列字符时,这些字符必须以升序排序次序显示(A-Z 或 0-100)。 [A-Z] 是有效模式,而 [Z-A] 是无效模式。
将忽略字符顺序 [ ];该顺序被视为一个零长度字符串 ("")。