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

时间:2014-04-18 14:21:29

标签: 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

2 个答案:

答案 0 :(得分:11)

哇哇伙伴我认为你可能会在这里过分复杂。如果您想获取过去X个月的数据,那么只需使用DATEADD即可useful function

您需要做的只是

select
    YourColumns
FROM YourTable
WHERE YourDate >= DATEADD(MONTH, -13, CAST(GETDATE() AS DATE))

然后你去吧。

答案 1 :(得分:0)

  YourDateField Between @FormDate AND @ToDate

之后,只需选择 -

{{1}}