问题描述
我正在尝试使用新值更新我的数据库表中的 created_at
(DATETIME) 列,该值基于另一列 - delivery_estimate
(DATE) 列之前 30 天。
我已经尝试了以下方法,但我的语法出现错误,说 DATEADD 不存在:
UPDATE my_table
SET created_at = DATEADD(day,-30,delivery_estimate)
解决方法
MySql 中函数的正确名称是 DATE_ADD()
,但您也可以使用 SQL Server syntax。
改成这样:
UPDATE my_table
SET created_at = DATE_ADD(delivery_estimate,INTERVAL -30 day)
或更简单:
UPDATE my_table
SET created_at = delivery_estimate - INTERVAL 30 day