sql之SQL 的月差
arxive
阅读:136
2024-06-20 12:54:19
评论:0
考虑一个日期时间字段Fld1
。
如何使用 SQL 查询检查该值是否早于 3 个月前?
请您参考如下方法:
从你的其他问题来看,它看起来像 SQL Server。
已经给出的 2 个 SQL Server 答案不是 SARGable (link) ;他们不能使用索引。
WHERE datecolumn < DATEADD(month, -3, GETDATE())
构造一个 3 个月前的日期并对其进行测试;这将能够使用索引。这句话适用于任何 DBMS。
如果您在整个日历月之后,例如
- 当前日期 = 2011 年 2 月 24 日
- 3 个月前 = 2010 年 11 月 - 2010 年(忽略月份中的某天)
- 必填 = 2010 年 11 月及之前的任何日期
WHERE datecolumn <= DATEADD(month, datediff(month, 0, getdate()) -2, 0)
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。