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

SQL运行报错data type mismatch in criterion expression如何排查修改

错误原因&修改方案

你遇到的data type mismatch in criterion expression(条件表达式数据类型不匹配)错误核心诱因是PercentageDiscount = 'NULL'的写法错误:

  • 你写的'NULL'是带单引号的字符串常量,而PercentageDiscount本身是数值类型字段,不同类型的字段直接对比直接触发类型不匹配报错
  • SQL中判断空值不能用=等号,必须用IS NULL关键字

另外还有2个可选优化/校验点:

  • 你用的逗号分隔多表的老式关联写法可读性差,更推荐用标准JOIN语法写关联条件,避免漏写关联逻辑
  • 如果你使用的是Access数据库,日期常量需要用#包裹,其他如MySQL、SQL Server等数据库直接用单引号加YYYY-MM-DD格式的日期即可

修改后的查询语句

SELECT AVG(Price)
FROM Book
INNER JOIN OrderLine ON Book.ISBN = OrderLine.ISBN
INNER JOIN [Order] ON [Order].OrderNo = OrderLine.OrderNo
WHERE OrderDeliveryDate > '2016-05-05' 
  AND PercentageDiscount IS NULL;

如果是Access数据库,将日期条件替换为OrderDeliveryDate > #2016-05-05#即可正常执行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:09:03