试图跟踪本月与上一年的进展情况

时间:2015-01-05 19:02:21

标签: sql sql-server date datediff dateadd

这听起来很简单,但它并没有像我想象的那样奏效。 我正在尝试跟踪迄今为止的月份进度 这是我的MTD代码

Startdate>=DATEADD(MONTH, DATEDIFF(MONTH, 0, Convert(date, getdate())), 0)

非常简单。

上个月开始我使用: Startdate>= DATEADD(month, DATEDIFF(month, -1, getdate()) , 0) 作为开始日期

并且对于当前标记我使用了这个: Enddate>=DATEADD(month, DATEDIFF(month, 0, getdate()-30), 0)+datepart (day,getdate())

理想情况下,我想知道如果今天是第五名。那个窗口发生了多少次销售。 那么我也想知道我们在上个月的同一时期是怎么做的。

我的问题是我发现在31个月后的几个月,29天我遇到了问题。

是否有一个函数在一个月前给我一个相同的日期?

1 个答案:

答案 0 :(得分:0)

dateadd(month, -1, getdate()) 

即。 dateadd(month, -1, '20150330')返回' 2015-02-28'

如果确切日期不存在于上个月的最后一天,则返回