SQL更新日期时间项

SQL更新日期时间项,sql,sql-server,database,sql-server-2008,tsql,Sql,Sql Server,Database,Sql Server 2008,Tsql,我有一个表,其中有两列datetime格式的日期列表 现在,我想做的是从Column1中提取每个非空日期,为每个值添加一年,然后将其存储到Column2中 因此,在下面的更新之后,Column2(带null的那一列)将显示: 2014-07-09 00:00:00.000 2013-07-30 00:00:00.000 2013-10-19 00:00:00.000 2013-10-19 00:00:00.000 语法是怎样的?我需要先进行选择,然后再进行更新吗?您可以使用 没关系 U

我有一个表,其中有两列datetime格式的日期列表

现在,我想做的是从
Column1
中提取每个非空日期,为每个值添加一年,然后将其存储到
Column2

因此,在下面的更新之后,
Column2
(带null的那一列)将显示:

2014-07-09 00:00:00.000 
2013-07-30 00:00:00.000 
2013-10-19 00:00:00.000 
2013-10-19 00:00:00.000

语法是怎样的?我需要先进行选择,然后再进行更新吗?

您可以使用

没关系

UPDATE tableDates 
SET newDate = DATEADD(year, 1, oldDate) 
WHERE oldDate IS NOT NULL;
UPDATE your_table
SET    column2 = DATEADD(year, 1, column1)
WHERE  column1 IS NOT NULL
UPDATE tbl
SET Column2 = DATEADD(year, 1, Column1)
WHERE Column2 IS NULL AND Column1 IS NOT NULL
UPDATE tableDates 
SET newDate = DATEADD(year, 1, oldDate) 
WHERE oldDate IS NOT NULL;