MS Access SQL-如何从第一个月的第一个月提取最近13个月的数据



我尝试了下面的代码来提取最后13个月的数据。但从本月1日开始,它并没有停止。如何修改它以从每月的第一天提取数据?例如,如果我今天(11/13/18(运行它,我需要从11/1/17到今天的数据。

SELECT * FROM MyTable T 
WHERE T.[Date Joined] >= DATEADD("m", -13, DATE());

这:

SELECT * FROM MyTable T 
WHERE T.[Date Joined] >= DATEADD("m", -13, Dateserial(year(date()), month(date()),1));

使用

Dateserial(year(date()), month(date()),1)

它会给你当前月份的第一个
,所以你可以从中减去13个月。

您需要将日期更改为1作为

SELECT * 
FROM MyTable T 
WHERE T.[Date Joined] >= DATEADD("d", -(DAY(Date())-1),DATEADD("m", -13, DATE());

或者使用DATESERIAL()函数,该函数从零件返回DATE作为

SELECT * 
FROM MyTable T 
WHERE T.[Date Joined] >= DATEADD("m", -13, DATESERIAL(YEAR(Date()), MONTH(DATE()), 1))

在您的情况下,它将从日期2018获得YEAR部分,然后获得11的MONTH部分和当天的1部分,并将它们连接起来,以返回DATE作为2018-11-1

最新更新