【问题标题】:Subtract from date field in SQL Server从 SQL Server 中的日期字段中减去
【发布时间】:2017-04-25 09:05:57
【问题描述】:

我有一个字段 receiveddate,它是一个日期时间数据类型。我正在尝试从该日期起 7 天返回结果。所以基本上我想看看今天收到的日期是 7 天后的任何东西。我尝试了几件事,包括 c.ReceivedDate BETWEEN DATEADD(dd,-7, GETDATE()) AND getdate() 但它的拉动结果是 2011 年的!我使用的是 SQL Server 2008。有什么建议吗?

【问题讨论】:

  • 如果将 GETDATE() 替换为固定日期,例如 yyyy-mm-dd 格式(或 yyyy-dd-mm),结果是否仍然错误?
  • 也许您的系统时钟已关闭...select getdate() 有什么好处
  • @hypnos 是的,仍然是错误的。我将其更改为 c.ReceivedDate BETWEEN DATEADD(dd,-3, '2016-12-09') AND '2016-12-09'
  • 你能把你的整个代码贴出来吗...我敢打赌问题出在其他地方。
  • @scsimon 看来是正确的我得到了 2016-12-09 15:11:28.770

标签: sql-server-2008 datediff dateadd


【解决方案1】:

你的代码应该是

c.ReceivedDate BETWEEN (GETDATE() - 7) AND GETDATE()

【讨论】:

  • 这和OP的原始代码没有什么不同......它不会改变结果
猜你喜欢
  • 2021-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-14
  • 2018-04-11
相关资源
最近更新 更多