在字符串比较中使用通配符

内含的模式匹配为字符串比较提供了一个多用途工具。下表显示了你可以通过 Like 运算符 使用的通配符和它们匹配的数字或字符串的数目。

样式中的字符 表达式中的匹配
? _(下划线) 任何单一字符
* or % 零个或多个字符
# 任何单一数字(0 — 9)
[charlist] 任何在字符表中的单一字符
[!charlist] 任何不在字符表中的单一字符

可用括在括号 ([ ]) 中的一组字符(字符表)来匹配表达式中任何的单一字符,而且字符表中几乎可以包含 ANSI 字符集中的任何字符,包括数字。事实上,特殊字符,如左括号 ([ )、问号(?)、井字号(#)和星号(*), 当它们括在括号内时,可以直接和它们自己匹配。一组字符内的右括号 ( ]) 不能匹配它自己,但是如果它是一组之外的单一字符,就能用来匹配。

除了括在括号内的字符的简单表列,字符表可以指定一字符范围,用连字符号 (-) 来隔开范围的上下界。例如,在样式 中使用 [A-Z] ,可在包含从 A 到 Z 的任何大写字母的表达式内,找出相应的字符位置。 可以在括号之中包含多个范围且不需要在范围间划上界线。例如,[a-zA-Z0-9] 指任何符合文数值的字符。

一定要注意,仅当使用 Microsoft® Jet 4.X 版和 Microsoft OLE DB Provider for Jet 时,ANSI SQL 通配符 (%) 和 (_) 才可用。若使用 Microsoft Access 或 DAO,则将其视为原义字符。

样式匹配的重要的规则还有:

请参阅
Like 运算符 SQL 表达式s