【问题标题】:DateAdd (y, -1, getdate()) Not workingDateAdd (y, -1, getdate()) 不工作
【发布时间】:2014-12-11 04:01:03
【问题描述】:

我正在尝试查找去年发生的所有记录(到日期/日期,不担心时间)。

我的 SQL 是:

dm.fromdatetime >= dateadd(y,-1,getdate())
and dm.fromdatetime <= getdate()

不确定这里缺少什么,看起来应该可以。有什么建议吗?

【问题讨论】:

  • fromdatetime的数据类型是什么?
  • 查找从今天起最近 365 天的数据(或当此脚本恰好运行时)。这是在 MS SQL 2008 中。
  • FromDateTime 是“日期时间”数据类型。

标签: sql-server dateadd


【解决方案1】:

使用“yy”,而不是“y”:

dm.fromdatetime >= dateadd(yy,-1,getdate())
and dm.fromdatetime <= getdate()

根据Books Online,“y”是“dayofyear”,而不是年份。

【讨论】:

  • 或者更好的是,使用YEAR而不是任何快捷方式
  • 假设过去 365 天到“现在”,您将如何使用“YEAR”?
  • DATEADD(YEAR,-1,GETDATE())
  • 是的。或者,YYYY。关键是,不要使用 Y。
  • @MISNole 方法不对,改用 1 年。当您有闰年时会发生什么?
猜你喜欢
  • 1970-01-01
  • 2021-10-16
  • 2020-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-05
  • 1970-01-01
相关资源
最近更新 更多