我正在尝试获取当前日期前5个月的数据。我已尝试
MONTH(GETDATE()) - MonthNum ='5'
其中,monthnum
已从上一个CTE中的日期解析。
这适用于第6个月及以后,但不适用于前几个月。
最终目标是,例如,在11月,我只能看到6月的数据,而不仅仅是当前年份的数据。
SELECT *
FROM TABLE
WHERE MONTH(GETDATE()) - AnniMonthNum ='5'
我正在尝试获取当前日期前5个月的数据。我已尝试
MONTH(GETDATE()) - MonthNum ='5'
其中,monthnum
已从上一个CTE中的日期解析。
这适用于第6个月及以后,但不适用于前几个月。
最终目标是,例如,在11月,我只能看到6月的数据,而不仅仅是当前年份的数据。
SELECT *
FROM TABLE
WHERE MONTH(GETDATE()) - AnniMonthNum ='5'
2条答案
按热度按时间wgmfuz8q1#
根据您的说明,尝试以下操作:
或者,如果在检视中使用,请直接在WHERE子句中取代计算,如下所示:
如果你已经计算出了月数,那么用这个变量替换
DATEADD
函数中的interval。下面我用monthnum乘以-1来确保interval是负数。qnakjoqk2#
尝试使用DateDiff