我想对一些错误的带时间戳的行(SQL 2005)运行查询,并仅替换DAY值。我最初的想法只是使用REPLACE函数,如下所示:
-- date correction
UPDATE mytable
SET [date] = REPLACE([date], '2014-02-20', '2014-02-27')
WHERE [date] LIKE '2014-02-20%'
..但由于给定的列数据类型,最有可能证明这是不成功的。有什么建议吗?
答案 0 :(得分:3)
您也可以制作DATEADD
:
UPDATE mytable
SET [date] = DATEADD(DAY, 7, [date])
WHERE [date] >= '2014-02-20' AND [date] < '2014-02-21'