2013-03-12 100 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