MS Access - 通配符
通配符是特殊字符,可以代替文本值中的未知字符,并且可以方便地查找具有相似但不相同数据的多个项目。 通配符还可以帮助获取指定模式匹配的数据库。
Access 支持两组通配符,因为它支持两种结构化查询语言标准。
- ANSI-89
- ANSI-92
通常,当您对 Access 数据库(例如 *.mdb 和 *.accdb 文件)运行查询和查找和替换操作时,请使用 ANSI-89 通配符。
对 Access 项目(连接到 Microsoft SQL Server 数据库的 Access 文件)运行查询时,可以使用 ANSI-92 通配符。 Access 项目使用 ANSI-92 标准,因为 SQL Server 使用该标准。
ANSI-89 通配符
下表列出了 ANSI-89 支持的字符 −
字符 | 描述 | 示例 |
---|---|---|
* | 匹配任意数量的字符。 您可以在字符串中的任何位置使用星号 (*)。 | wh* 找到 what, white, 和 why,但找不到 awhile 或 watch。 |
? | 匹配任何单个字母字符。 | 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#3S 查找 103、113 和 123。 |
ANSI-92 通配符
下表列出了 ANSI-92 支持的字符 −
字符 | 描述 | 示例 |
---|---|---|
% | 匹配任意数量的字符。 它可以用作字符串中的第一个或最后一个字符。 | wh% 找到 what, white, 和 why,但找不到 awhile 或 watch。 |
_ | 匹配任何单个字母字符。 | 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。 |
示例
现在让我们看一个通过打开查询设计来使用这些通配符的简单示例。
添加突出显示的表格并关闭显示表格对话框。
在查询网格中添加您想要作为查询结果查看的字段。
运行您的查询。
让我们再次转到查询设计并添加项目名称提示。
现在运行您的查询,让我们假设您不知道确切的项目名称,但您知道项目名称包含单词"potion"。 单击确定。
上述步骤不会产生任何结果。 这是因为 Access 正在项目名称字段中查找完全匹配的内容。 它正在寻找名称中含有 potion 一词的项目。
如果您希望用户可以输入通配符来替换未知字符,那么您需要调整条件并包含运算符 like。
运行查询时,用户可以使用通配符替换任意数量的字符。
让我们假设您知道单词 potion 出现在标题中的某处,但您不确定在哪里。
您可以添加 * 来替换单词 potion 之前的任意数量的字符,然后在后面添加另一个 *。 单击确定。
用户知道他们可以输入的通配符总是有好处的。 但有些用户可能不知道他们可以输入和不能输入的通配符。 在这种情况下,您可以自己输入通配符。
在这种情况下,在 Like 运算符和参数提示之间,我们可以添加这些通配符,现在我们必须以一种非常具体的方式来编写它。 在引号中的 like 一词后面,输入我们正在使用的通配符。 在本例中,我们使用"*"来替换任意数量的字符。 我们现在将其添加到参数中。 为此,我们需要 & 符号 (&) 符号和一个空格。 现在,我们将重复此步骤并添加另一个与号 (&),因为我们将该通配符加入到用户为该项目名称输入的任何条件中,然后将"*"放在引号中。
现在让我们再次运行查询。 在提示中输入单词potion,不带任何通配符。
查询现在将跟踪此处输入的内容两侧的通配符。 我们只需输入 potion 并按 Enter 键即可。
我们现在得到了我们正在寻找的结果,并且无论用户输入什么,结果都是相同的。
假设我们想要查找标题中包含"the"一词的每个项目。 然后,您只需键入该单词并Enter或单击确定。
通过此查询,可以更轻松地搜索名称中包含"the"一词的项目。 第二级结果还可能包括带有"mother"一词的项目名称,其中"the"是该词的一部分。