TSQL如何仅更新特定日期的DATETIME列的日期部分

时间:2014-03-03 19:10:26

标签: sql sql-server tsql

我想对一些错误的带时间戳的行(SQL 2005)运行查询,并仅替换DAY值。我最初的想法只是使用REPLACE函数,如下所示:

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

..但由于给定的列数据类型,最有可能证明这是不成功的。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您也可以制作DATEADD

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