sql 减去日期

标签 sql sql-server

日期列中的某些日期记录错误。我想进行一个查询,如果日期在特定日期范围内,则从每个日期减去一天。

我知道我必须使用 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/

相关文章:

php - 如何在MySQL中 'GROUPT BY'之后的 'ORDER BY'

java - 加入具有复杂关联表​​的 JPA 实体而不创建关联实体?

sql - SQL Server批处理错误处理问题

sql-server - 保护多个桌面应用程序直接调用的 SQL Azure 数据库

c# - 在mvc布局页面显示动态菜单

c# - SSIS 只读变量被更改

MySQL 连接与关系表上的匹配

php - mySQL 删除功能的问题

sql - ID 字段以 AB_ 为前缀(例如 : AB_00yyhhgdbdbd)

MySQL 从表中选择