SQL Query在固定的日期范围内每月发送一次

时间:2015-11-18 13:01:24

标签: sql date variables range fixed

我有一个SQL查询,我需要每月运行一次。

查询产生的数据集必须始终是从当月的第11个月到当月的第10个。

我现在在本月11日手动调整日期范围后的几天内手动运行查询:

例如......

A列大于10/10/2015且小于12/11/15

我希望有一个声明可以添加到我的查询中,以自动查找上个月的第11天和当月的第10天。通过这种方式,我可以安排查询并自动通过电子邮件发送结果。

2 个答案:

答案 0 :(得分:2)

您应该可以在查询中使用以下内容: -

CONVERT(date,FORMAT(GETDATE(),'yyyy-MM')+'-10')

(本月10日)

CONVERT(date,FORMAT(DATEADD(m,-1,GETDATE()),'yyyy-MM')+'-11')

(上个月11日)。

答案 1 :(得分:-1)

尝试在工作DBMS中查看MONTH()函数。在MySQL和MSSQL中,它返回一个与您系统当前月相对应的数字(1月1日)(您可以检查它的日期是否更新)。

使用此函数,您可以减去1以获得上个月,当前一个是1月时必须做一些逻辑,因此1.从现在开始你应该得到12(12月)intead为0(错误)。

干杯,伙计!