Mysql更新日期年份

时间:2013-05-22 17:38:00

标签: mysql sql

在表中有行日期时间格式2013-01-01 01:01:01我希望更新,日期行和从20132012

的所有年份变换

我的SQL UPDATE张贴SET YEAR( t_date ) = 2012 WHERE YEAR( t_date ) = 2013

但这不起作用,出了什么问题?

2 个答案:

答案 0 :(得分:1)

SELECT date_Add(t_date - INTERVAL 1 YEAR), t_date
FROM your TableName where year(T_Date) =2013

Update yourTableName set t_date= date_Add(t_date-Interval 1) YEAR WHERE year(T_DATE) = 2013

您的方法无效,因为您的语法不正确。查看the manual

确切link

答案 1 :(得分:1)

错误是YEAR(t_date)是函数的结果,你无法更新函数的结果。

你可以做到

update tickets
   set t_date = date_add(t_date, interval -1 year)
 where year(t_date) = 2013