【发布时间】:2015-05-19 02:48:47
【问题描述】:
我有 SSRS 销售报告,我需要将上个月的开始日期和结束日期的日期传递给我可以使用以下代码传递的日期。但是,由于销售报告有过去一年(2014 年)的数据,我还需要传递去年的日期。下面的代码将 StartDate1 指定为 2015-02-01,将 EndDate1 指定为 2015-02-28。我需要获取过去一年的日期,例如 2014-02-01 作为 StartDate2 和 2014-02-28 作为 EndDate2
SELECT DATEADD(MONTH, DATEDIFF(MONTH, '19000201', GETDATE()), '19000101') AS StartDate1,
DATEADD(MONTH, DATEDIFF(MONTH, '19000101', GETDATE()), '18991231') AS EndDate1
【问题讨论】:
-
您使用的是哪个版本的 SQL Server?如果您有 2012+,您可以使用 EOMonth 获取所选月份的最后日期。 msdn.microsoft.com/en-us/library/hh213020.aspx
-
@mmarie- 我使用的是 SQL Server 2008 R2
-
可能有一种更简单的方法,但您可以取下个月的第一个日期并减去一天以获得您想要的月份的最后一天
-
或者你可以做小于..而不是小于等于。
标签: sql sql-server tsql reporting-services