所以我有这个代码,这是为了抓住过去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
答案 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}}