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

执行DELETE语句遇1260类型转换错误,求日期写法修正方案

搞定你的SQL错误:类型转换问题解析与修复方案

嘿,咱们先拆解你遇到的1260错误,以及2018-03-31写法的问题:

1. "2018-03-31"的核心问题

你没给这个日期值加单引号!数据库会把无引号的2018-03-31当成算术运算:2018 - 3 - 31,算出来是数值1984。而你的inv_date是日期类型,数据库没办法把数值和日期直接做比较,这就触发了"无法在指定类型间转换"的错误。

2. 还有这些语法小坑需要修正

除了日期引号,你的INTERVAL写法也不对:

  • 多了一个多余的右括号(原SQL里TO MONTH)的最后一个)是多余的)
  • 标准的INTERVAL语法应该是INTERVAL '72' MONTH(部分数据库支持INTERVAL 72 MONTH,但带单引号的写法兼容性更好)

3. 修复后的可执行SQL

根据常见数据库(比如Informix,因为1260是它的错误码)的语法,修改后的SQL如下:

DELETE FROM invoice
WHERE inv_date < DATE('2018-03-31') - INTERVAL '72' MONTH;

如果你的数据库支持直接通过单引号识别日期字面量,也可以简化成:

DELETE FROM invoice
WHERE inv_date < '2018-03-31' - INTERVAL '72' MONTH;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:11:03