【发布时间】:2013-12-18 16:15:35
【问题描述】:
是否可以在 SQL 中执行以下操作。我想编写一个代码,它将返回特定日期之间的记录,但会在报告运行时自动更新。比如:
12/18 我想返回 11-1 到 11/18 和 12/1 到 12/18 的记录,以便我可以在报告中逐月比较这些记录。
我知道我可以做到:
WHERE
[database] BETWEEN '2013-11-01' and DATEADD(Month, 1, getdate ()))
and not [database] IN ('2013-11-19 and '2013-11-30')
但我必须每天都进入查询来更新 not between。我想这样做,以便我可以在任何一天运行查询并获取上个月的记录,直到本月的日期匹配。我目前一直在处理这个:
B.[datepaid] between DATEADD(Month, -1, getdate() )
and DATEADD(MONTH, 1, getdate() ))
但它会返回 11 月以来的所有记录。
【问题讨论】:
-
它返回整个 11 月的结果是因为您在
where子句中硬编码了2013-11-01。
标签: sql sql-server date between