Ms查询Where

时间:2018-05-16 14:01:45

标签: sql ms-access

我试图找到必须过滤我的查询,以便向我显示本月和上个月的结果。

WHERE t.AllDate Between Date() - 60 and Date()

到目前为止我的代码是这样的,但它会回滚60天。

我需要在上个月获得结果。

谢谢。

2 个答案:

答案 0 :(得分:3)

这样可能更简单:

T1

答案 1 :(得分:2)

如果问题是

  

如何获取上一个月的第一天的日期?

您可以在MS Access SQL中执行此操作:

DateSerial(Year(DateAdd('m',-1,Date())), Month(DateAdd('m',-1,Date())),1)

现在它返回1/04/2018

您的查询变为:

WHERE t.AllDate Between DateSerial(Year(DateAdd('m',-1,Date())), Month(DateAdd('m',-1,Date())),1) 
                    and Date()

通过这个技巧,即使你在1月份运行它,你也总会获得正确的年份和月份。