2013-07-09 122 views
3

我有一个包含两列日期时间格式日期列表的表。SQL更新日期时间条目

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

那么下面,在更新之后,Column2(与零点一)将显示:

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 

enter image description here

怎样的语法去了?我需要做一个选择,然后进行更新吗?

回答

3
UPDATE tbl 
SET Column2 = DATEADD(year, 1, Column1) 
WHERE Column2 IS NULL AND Column1 IS NOT NULL 

这是去是好的

+0

很大。那工作得很好。谢谢 –

5

您可以使用DATEADD

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