在表中有行日期时间格式2013-01-01 01:01:01
我希望更新,日期行和从2013
到2012
我的SQL UPDATE
张贴SET YEAR(
t_date ) = 2012 WHERE YEAR(
t_date ) = 2013
但这不起作用,出了什么问题?
答案 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