MS Access 包含查询

Posted

技术标签:

【中文标题】MS Access 包含查询【英文标题】:MS Access Contains query 【发布时间】:2013-05-21 15:40:52 【问题描述】:

如何为 msaccess 数据库编写包含查询

我的表有列值'CHOPE PARMA TERA 101'

我在 PARMA 中的搜索关键字。

如何编写包含查询来检索记录?

【问题讨论】:

【参考方案1】:

在 MS Access 中查询:

select * from SomeTable Where SomeColumn Like '* PARMA *'

对于标准 SQL,就像'% PARMA %'

请注意,上述语句不会找到 'PARMA'、'CHOPE PARMA' 或 CHOPE PARMAHAM 101',或者 任何包含 PARMA 的值;为此,只需删除搜索字符串中的空格,例如'*PARMA*'

select * from SomeTable Where SomeColumn Like '*PARMA*'

【讨论】:

我试过了,但它不起作用 SELECT * FROM groups WHERE (Orgin LIKE '* PARMA *') 只有下面的工作,SELECT * FROM groups WHERE (Orgin LIKE 'CHOPE PARMA TERA 101' ) 有没有办法只寻找 PARMA 它是否适用于ALike 而不是Like?:SELECT * FROM groups WHERE Orgin Alike '%PARMA%' 必须查一下。从来没有听说过。答案似乎是可能的。 ***.com/questions/5166907/… 嗯,刚刚阅读了您的评论,请先尝试使用 % 而不是 * 。根据另一个链接,这取决于您所处的模式。我不知道,自从大约 93 年以来就没有访问过..【参考方案2】:

您是在询问有关使用 Like 条件的问题吗? 如果是这样,还有更多信息here

MS Access:Access 2003/XP/2000/97 中的 LIKE 条件(使用通配符)

LIKE 条件允许您在 Access 2003/XP/2000/97 中的 SQL 语句的 where 子句中使用通配符。这允许您执行模式匹配。 LIKE 条件可用于任何有效的 SQL 语句 - 选择、插入、更新或删除。

您可以选择的模式有:

* allows you to match any string of any length (including zero length)
? allows you to match on a single character
# allows you to match on a single numeric digit

举例

Like 'b*'   would return all values that start with b
Like '*b*'  would return all values that contain b
Like '*b'   would return all values that end with b
Like 'b?'   would return all values that start with b and are 2 characters in length
Like 'b#'   would return all values that start with b and are 2 characters in length
where the second character is a number

【讨论】:

有什么方法可以检查以问号 (?) 开头的字符串,FIELD Like '?' 不起作用

以上是关于MS Access 包含查询的主要内容,如果未能解决你的问题,请参考以下文章

使用包含 SUM() 字段的子查询在 MS-Access 中编辑查询

生成包含多个表/查询的 MS Access 报告

为啥 MS-Access 中的 Teradata 查询比 SQL Server 更快

MS Access,如何将参数传递给子查询?

MS Access VBA循环查询和重命名文件

您的查询不包含表达式“未结金额”作为聚合函数的一部分 - MS Access