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

Databricks运行SQL查询时出现Mismatch Error数据类型不匹配错误如何解决

错误原因

你编写的过滤条件中2010-01-12没有用引号包裹,SQL语法会将其识别为整数减法运算,最终计算结果为整数1997,而表tester2中的InvoiceDate字段是date类型,整数和日期类型无法直接做等值比较,因此触发类型不匹配报错。

解决方案

你可以选择以下任意一种方案修改SQL语句:

  • 方案1:给日期值添加单引号,依赖SQL的隐式类型转换完成匹配
%sql
select UnitPrice, InvoiceDate
from tester2
where InvoiceDate = '2010-01-12'
  • 方案2:显式声明日期类型,避免隐式转换带来的兼容问题
%sql
select UnitPrice, InvoiceDate
from tester2
where InvoiceDate = date('2010-01-12')
  • 方案3:如果表中InvoiceDate实际为字符串存储格式,可统一转成日期类型后比较
%sql
select UnitPrice, InvoiceDate
from tester2
where date(InvoiceDate) = date('2010-01-12')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 15:18:03