You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MS Access 2010 SQL中实现字段1包含字段2子串的查询?

在MS Access 2010 SQL中筛选字段包含另一字段子串的记录

要解决这个问题,我们可以利用MS Access原生支持的函数和操作符,避开不支持的CONCAT函数,这里有两种可靠的方案:

方案1:使用LIKE操作符 + 字符串连接符&

MS Access中用&代替CONCAT做字符串拼接,并且通配符用*(而非标准SQL的%)。直接拼接通配符和目标字段,就能实现检查field1是否包含field2的需求:

SELECT *
FROM YourTable
WHERE field1 LIKE '*' & field2 & '*';

注意事项:

  • 如果field2可能为NULL,可以用Nz函数处理空值,避免意外匹配:
    SELECT *
    FROM YourTable
    WHERE field1 LIKE '*' & Nz(field2, '') & '*'
      AND field2 IS NOT NULL; -- 排除field2为空的情况,可选
    
  • Access默认LIKE不区分大小写,如果需要区分大小写,可以搭配模块中的Option Compare Binary设置,或者改用下面的InStr方案。

方案2:使用InStr函数

InStr函数会返回field2在field1中的起始位置,如果返回值大于0,说明field1包含field2,这个方法更直观且性能不错:

SELECT *
FROM YourTable
WHERE InStr(field1, field2) > 0;

区分大小写的版本:

如果需要严格区分大小写,给InStr加上第三个参数1(代表二进制比较):

SELECT *
FROM YourTable
WHERE InStr(1, field1, field2, 1) > 0;

内容的提问来源于stack exchange,提问作者Malcolm Farrelle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:28:00