在我的表中,我有一个名为APPDATE
的日期列,我想用它来限制查询只返回最后2个完整月份。
例如,今天 28/03/17 ,我希望查询仅返回 2017年2月和 2017年1月的数据并且不包含来自 2017年3月的任何数据。
我该怎么办?
目前我已经尝试过:
APPDATE > DATEADD(MONTH, -2, GETDATE())
其中包括March:(
答案 0 :(得分:1)
尝试以下WHERE
子句:
WHERE APPDATE < DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) AND
APPDATE >= DATEADD(MONTH, -2, DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0))
假设当前日期是3月,那么这个逻辑将保留所有早于3月1日且大于或等于1月1日的记录。