2013-03-12 124 views
0

在SSRS中,我将如何返回选定月份之前的月份数据。 month(lis.s_date=month(getdate()) -1会让我获得当前月份的上个月数据,但我希望它是SSRS中选定月份的上个月。为了达到这个目的,我会将getdate()改成什么?如何获取选定月份之前的月份数据

回答

1

等效SSRS表达应该是:评论后

=DateAdd(DateInterval.Month, -1, Now()) 

编辑:

您可以替换任何日期值插入T-SQL表达式,如一些方法在这里:

create table dates (dateValue date) 

insert into dates select '01-jan-2013' 
insert into dates select '01-feb-2013' 
insert into dates select '15-feb-2013' 

select dateValue 
    , lastMonthDate = dateadd(mm, -1, dateValue) 
    , lastMonthValue = month(dateadd(mm, -1, dateValue)) 
    , lastMonthName = datename(mm, dateadd(mm, -1, dateValue)) 
from dates 

这只是使用表列而不是getdate()函数。

SQL Fiddle demo

+0

什么tsql等效'返回任何选定的月份之前的月份数据'是?我只找到了关于“当月前几个月”的信息,但没有找到任何选定月份的前一个月的信息。 – user2146212 2013-03-12 18:52:19

+0

您只需要使用与'getdate()'不同的值,它总是返回当前日期;我已经在上面展示了几个例子。 – 2013-03-12 19:15:30

相关问题