查询返回过去6个月的数据

时间:2017-11-11 15:35:09

标签: ms-access

我在尝试在查询中找出日期条件时遇到了一些麻烦。基本上,我正在尝试获取过去6个月的所有数据。例如,当前月份是2017年12月;我想查询返回2017年6月到12月的数据。我已经尝试了以下标准:

在Date()和DateAdd之间(“M”, - 6,Date())

但是,标准会根据日期返回数据;如果当前日期是2017年12月2日,则查询将返回2017年6月2日至12月2日的日期。我希望查询返回整个6月的数据(因此,如果我们按照上一个示例,则从2017年6月1日开始的数据将包括在内至12月。我该如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

你遇到的问题听起来很简单。你真的只需要使用当月的第一天,而不是当前日期。

有很多方法可以获得当月的第一天,例如:

Date() - Day(Date()) + 1

虽然有其他方法可以做到这一点,但是尽量不要依赖于将字符串转换为字符串并返回以提高性能/区域设置不兼容性

如果使用此方法,则SQL WHERE将为:

Between Date() - Day(Date()) + 1 and DateAdd ("M", -6, Date() - Day(Date()) + 1)