2014-03-03 42 views
1

我想对许多时间戳记不正确的行(SQL 2005)运行查询并仅替换DAY值。我最初的想法只是使用如下替换功能:TSQL如何仅更新特定日期的DATETIME列的日期部分

-- date correction 
UPDATE mytable 
SET [date] = REPLACE([date], '2014-02-20', '2014-02-27') 
WHERE [date] LIKE '2014-02-20%' 

..但被证明是因为给定的列数据类型是不成功的可能性最大。有什么建议么 ?

+0

你有没有尝试使用通配符像'2%',而不是'20%' –

+0

......没有,因为这将影响到所有天,从02-20到02-29 – Milan

回答

3

您也可以只让一个DATEADD

UPDATE mytable 
SET [date] = DATEADD(DAY, 7, [date]) 
WHERE [date] >= '2014-02-20' AND [date] < '2014-02-21' 
+0

就是这样!谢谢。 – Milan