我在尝试找出查询中的日期条件时遇到了一些麻烦。基本上,我试图获取过去 6 个月的所有数据。例如,当前月份是 2017 年 12 月;我希望查询返回 2017 年 6 月到 12 月的数据。我尝试了以下条件:
Date() 和 DateAdd ("M", -6, Date()) 之间
但是,条件返回基于日期的数据;如果当前日期是 2017 年 12 月 2 日,则查询返回 2017 年 6 月 2 日到 2017 年 12 月 2 日的日期。我希望查询返回整个 6 月的数据(因此,如果我们按照前面的示例,2017 年 6 月 1 日的数据也将包括在内)到 12 月。我该如何实现这一目标?
你遇到的问题听起来很简单。你真的只需要使用当月的第一天,而不是当前日期。
获取当月第一天的方法有很多种,例如:
Date() - Day(Date()) + 1
虽然有其他方法可以做到这一点,但尽量不要依赖于将日期转换为字符串并返回以实现性能/区域设置不兼容
如果您使用这种方法,您的 SQL WHERE 将是:
Between Date() - Day(Date()) + 1 and DateAdd ("M", -6, Date() - Day(Date()) + 1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句