日期列中的某些日期记录错误。我想进行一个查询,如果日期在特定日期范围内,则从每个日期减去一天。
我知道我必须使用 DATEADD 和 UPDATE,但我似乎无法弄清楚。提前致谢。
最佳答案
这应该可以做到:
UPDATE [SomeTable]
SET [DateColumn] = DATEADD(d, -1, [DateColumn])
WHERE [DateColumn] BETWEEN [Date1] AND [Date2]
这是关于 DATEADD
函数的 MSDN 文档:http://msdn.microsoft.com/en-us/library/ms186819.aspx
在对此类数据执行更新时,最好首先使用相同的条件运行 select 语句,以确保更新正确的记录。它还有助于减轻更新的压力水平(特别是如果您不熟悉 SQL)。
SELECT *, --Depending on what columns you would like to see, the wildcard could be replaced
DATEADD(d, -1, [DateColumn]) AS ProposedDate
FROM [SomeTable]
WHERE [DateColumn] BETWEEN [Date1] AND [Date2]
关于sql 减去日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6548540/