匹配数据中任意位置的所有字符
-
在“设计”视图中打开查询。 要执行此操作,请在导航窗格中的“查询”下右键单击查询,然后单击“设计视图”。
-
在要使用的字段下的“条件”单元格中,在条件的任一端或两端添加星号。 例如:
"*owner*"。
"owner*"。
"*owner"。
-
在“ 查询设计 ”选项卡上的“ 结果 ”组中,单击“ 运行”。
匹配模式中的字符
-
在“设计”视图中打开查询。
-
在要使用的字段的“条件”单元格中,在条件之前键入运算符“Like”。
-
使用通配符在条件中替换一个或多个字符。 例如,“Like R?308021”会返回 RA308021、RB308021 等等。
-
在“ 查询设计 ”选项卡上的“ 结果 ”组中,单击“ 运行”。
检索从 A 到 H 的公司列表
-
在“设计”视图中打开查询。
-
在要使用的字段的“条件”单元格中,输入“Like”,后跟一对双引号。 例如:Like ""。
-
在双引号内,添加一对方括号和要查找的字符范围,如下所示:
Like "[a-h]"
-
可以在括号外使用通配符。 例如:
Like "[a-h]*"
通配符表
此表列出并描述了可以在 Access 查询中使用的通配符。
符号 |
说明 |
示例 |
* |
匹配零个或多个字符。 可将其用作字符串中的第一个或最后一个字符。 |
“wh*”可以找到 wh、what、white 和 why |
? |
匹配任意单个字母字符。 |
“b?ll”可以找到 ball、bell 和 bill |
[ ] |
匹配括号内的任意单个字符。 |
“b[ae]ll”可以找到 ball 和 bell,但找不到 bill |
! |
匹配括号中不包含的任意字符。 |
“b[!ae]ll”可以找到 bill 和 bull,但找不到 ball 或 bell |
- |
匹配字符范围中的任意一个字符。 必须以升序指定该范围(A 到 Z,而不是 Z 到 A)。 |
“b[a-c]d”可以找到 bad、bbd 和 bcd |
# |
匹配任意单个数字字符。 |
“1#3”可以找到 103、113 和 123 |
通配符使用示例
场景 |
示例 |
---|---|
数据将某些人作为“owner”列出,将其他人作为“owner/operator”列出。 |
Like "owner*" 或 |
要将通配符与参数查询配合使用。 |
Like "*" & [参数] & "*" 例如: Like "*" & [鱼] & "*" 返回所有包含“鱼”的菜谱,如“炸鱼和薯条”、“岩鱼”等。 |
某人输入数据时,拼错了某个名字,例如拼成了“Adrien”,而不是“Adrian”。 |
Like "Adri?n" |
要查找姓氏以 A 到 H 开头的客户,例如用于批量发送邮件。 |
Like "[a-h]*" |
要查找除第二位和第三位外都相同的部件号。 |
Like "R??083930" |
要对 Park Street 1000 街区发出街区派对邀请。 |
Like "1### Park Street" |
用于从数据检索通配符的语法
字符 |
所需语法 |
---|---|
星号 * |
[*] |
问号 ? |
[?] |
数字符号 # |
[#] |
连字符 - |
[-] |
成对的左括号和右括号 [] |
[[]] |
左括号 [ |
[[] |
右括号 ] |
无需特殊处理 |
感叹号 ! |
无需特殊处理 |
了解要使用的通配符集
Access 数据库引擎 (ANSI-89) 与SQL Server (ANSI-92)
ANSI-89 描述了传统的 Access SQL 语法,这是 Access 数据库的默认值。 通配符遵循 Microsoft Visual Basic® for Applications (VBA) 规范,而非 SQL 。
当需要语法符合 Microsoft SQL Server™ 数据库规范时,则使用 ANSI-92。
建议不要在同一个数据库中混合使用两种类型的通配符。
用于 Access 数据库引擎的通配符 (ANSI-89)
在为 Access 数据库创建的查询中使用这些通配符。
符号 |
说明 |
示例 |
* |
匹配任意字符数。 可将其用作字符串中的第一个或最后一个字符。 |
“wh*”可以找到 what、white 和 why |
? |
匹配任意单个字母字符。 |
“B?ll”可以找到 ball、bell 和 bill |
[ ] |
匹配括号内的任意单个字符。 |
“B[ae]ll”可以找到 ball 和 bell,但找不到 bill |
! |
匹配括号中不包含的任意字符。 |
“b[!ae]ll”可以找到 bill 和 bull,但找不到 ball 或 bell |
- |
匹配字符范围中的任意一个字符。 必须以升序指定该范围(A 到 Z,而不是 Z 到 A)。 |
“b[a-c]d”可以找到 bad、bbd 和 bcd |
# |
匹配任意单个数字字符。 |
“1#3”可以找到 103、113 和 123 |
与 SQL Server (ANSI-92) 配合使用的通配符
在用于 Microsoft SQL Server™ 数据库而创建的查询中使用以下通配符。
符号 |
说明 |
示例 |
% |
匹配任意字符数。 可将其用作字符串中的第一个或最后一个字符。 |
“wh*”可以找到 what、white 和 why |
_ |
匹配任意单个字母字符。 |
“B?ll”可以找到 ball、bell 和 bill |
[ ] |
匹配括号内的任意单个字符。 |
“B[ae]ll”可以找到 ball 和 bell,但找不到 bill |
^ |
匹配括号中不包含的任意字符。 |
“b[!ae]ll”可以找到 bill 和 bull,但找不到 ball 或 bell |
- |
匹配字符范围中的任意一个字符。 必须以升序指定该范围(A 到 Z,而不是 Z 到 A)。 |
“b[a-c]d”可以找到 bad、bbd 和 bcd |