MS Access SQL-如何从第一个月的第一个月提取过去13个月的数据?

时间:2018-11-13 17:23:10

标签: sql ms-access ms-access-2016

我尝试了以下代码来提取最后13个月的数据。但这并不是从本月1日开始。如何修改它以从月份的第一天开始提取数据? 例如如果我今天(11/13/18)运行它,我希望从11/1/17到今天的数据。

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

2 个答案:

答案 0 :(得分:1)

此:

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 :(得分:0)

您需要将日期更改为1

result = ''.join([t[int(x)] for x in num])

或者使用 DATESERIAL() 函数,该函数从零件返回SELECT * FROM MyTable T WHERE T.[Date Joined] >= DATEADD("d", -(DAY(Date())-1),DATEADD("m", -13, DATE());

DATE

它将根据您的情况从日期SELECT * FROM MyTable T WHERE T.[Date Joined] >= DATEADD("m", -13, DATESERIAL(YEAR(Date()), MONTH(DATE()), 1)) 中获取YEAR部分,然后获取日期为{{1}和2018的{​​{1}}部分。连接它们以返回MONTH作为1