如何获取过去13个月的数据?

0 sql date

所以我有这个代码,这是为了抓住过去11个月的销售数据,包括当月,使它成为一整年.我需要做些什么才能将其更改为抓取过去12个月加上当月的数据?我知道我必须在右边改变一些东西(选择期间)......但不确定

在这一个中,左侧功能显示如何获得当前年份(2014年)减1给2013年..但我不明白正确的功能,2是什么意思?谢谢

period <= (
    SELECT Period 
    FROM dbo.FiscalDates 
    WHERE (Date = CONVERT(varchar(10), GETDATE(), 102))) and period >= (
convert(varchar, left((
    SELECT Period 
    FROM dbo.FiscalDates 
    WHERE (Date = CONVERT(varchar(10), GETDATE(), 102))),4)-1)+'-'+
convert(varchar, right((
    SELECT Period 
    FROM dbo.FiscalDates 
    WHERE (Date = CONVERT(varchar(10), GETDATE(), 102))),2)))
group by prodnum, period, WhseNum
Run Code Online (Sandbox Code Playgroud)

Zan*_*ane 11

哇伙计我认为你可能在这里过于复杂.如果你想获得过去X个月的数据,那么只需使用DATEADD它就是一个非常有用的功能.

那么你需要做的就是

select
    YourColumns
FROM YourTable
WHERE YourDate >= DATEADD(MONTH, -13, CAST(GETDATE() AS DATE))
Run Code Online (Sandbox Code Playgroud)

你去吧.