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

在Excel中使用ODBC查询时,如何在WHERE子句中实现包含匹配?

Excel ODBC查询实现名字包含匹配的正确方法

问题根源分析

你之前的写法存在两个关键语法错误:

  • CONTAINS函数用法错误:CONTAINS的正确语法是CONTAINS(目标列, '匹配关键词'),不能直接嵌套WHERE条件。
  • LIKE语句缺少引号:SQL中使用通配符%时,必须将整个匹配字符串用单引号包裹,否则会触发语法错误。

正确的查询写法

方法1:使用LIKE实现模糊匹配(通用兼容所有支持SQL的数据库)

SELECT "SURNAME", "FORENAME"
FROM DATABASEname
WHERE "SURNAME" = 'PARKINSON' AND "FORENAME" LIKE '%CRAIG%'
  • 注意'%CRAIG%'的单引号,%表示任意长度的任意字符,前后都加表示匹配包含"CRAIG"的任意字符串。

方法2:使用CONTAINS(仅适用于支持全文索引的数据库,如SQL Server)

如果你的数据库支持全文检索功能,且FORENAME列已创建全文索引,可以用以下写法:

SELECT "SURNAME", "FORENAME"
FROM DATABASEname
WHERE "SURNAME" = 'PARKINSON' AND CONTAINS("FORENAME", 'CRAIG')

额外注意事项

  • 确保表名DATABASEname和列名的引号使用正确(不同数据库对引号要求不同,若报错可尝试调整为反引号`或去掉引号)。
  • 检查ODBC数据源配置是否正确,确认连接的数据库版本支持你使用的语法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:52:35