去年CUrrent月的SQL代码

时间:2015-07-09 12:06:44

标签: sql sql-server date dateadd

我正在使用dataadd函数尝试查找特定日期字段在当前月份而在上一年的总和。

sum(case when (mt04 >= DATEADD(MONTH,-12,getdate()) and (mt04 <= dateadd(month,-11,getdate())))
         then 1 else 0
    end) as [New Instructions Same Month Last Year], 

这是我正在使用的报告,目前它正在显示从这一点开始到月底的数据。例如。如果我在本月8日运行它,它将显示从上一年当月的第8个月开始的数据。我需要在前一年的整个月共计。

1 个答案:

答案 0 :(得分:1)

因为它在sum()中,所以将所有函数调用放在当前日期没有任何好处。因此,只需使用month()year()

sum(case when year(mt04) = year(getdate()) - 1 and month(mt04) = month(getdate())
         then 1 else 0
    end) as [New Instructions Same Month Last Year]