如何只更新年份并保留日和月-sql server

如何只更新年份并保留日和月-sql server,sql,sql-server-2008,Sql,Sql Server 2008,我有一列包含日期,对于每一行,我只想更新年份,例如: ------------- date ------------- 22/01/2013 16/02/2013 19/08/2013 23/01/2013 我只想更改每一行的年份部分,如下所示: ------------- date ------------- 22/01/2012 16/02/2012 19/08/2012 23/01/2012 把它换成整张桌子 感谢您使用: Update TableName set date = Dat

我有一列包含日期,对于每一行,我只想更新年份,例如:

-------------
date
-------------
22/01/2013
16/02/2013
19/08/2013
23/01/2013
我只想更改每一行的年份部分,如下所示:

-------------
date
-------------
22/01/2012
16/02/2012
19/08/2012
23/01/2012
把它换成整张桌子 感谢您使用:

Update TableName set date = DateAdd(yy,-1,Date) 
应该从每个日期字段中减去一年。

使用DATEADD

UPDATE my_table
SET [date] = DATEADD(year,-1,[date])

您对2012-02-29(2月29日iso格式)有何期待?
Update table_name set date_field=DateAdd(yyyy,2012-year(date_field),date_field)