我正在使用SQL Management Studio 2012 我希望“ WHERE”子句从财政年度开始(在这种情况下为4月)开始的3年期间中选取数据,并一直持续到现在。
当前数据
Row date
A 2019-03-01
B 2018-01-01
C 2017-06-05
D 2017-04-02
E 2015-08-01
我想要的
Row date
A 2019-03-01
B 2018-01-01
C 2017-06-05
D 2017-04-02
这是我尝试过的,不是我想要的,我无法让它从4月开始
date between Dateadd(Month, Datediff(Month, 0, DATEADD(m, -36, GETDATE())), 0) AND DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE()), 0)
编辑:由于我对自己的解释不够充分
我正在尝试在报表制作工具中创建一个报表,该报表的矩阵类似于以下内容
Fiscal Fiscal Fiscal
Row 2017/18 2018/19 2019/2020
A 54 45 66
B 12 54 76
C 11 34 56
D 16 98 99
在下一个会计年度开始时,我希望矩阵可以这样更新。
Fiscal Fiscal Fiscal
Row 2018/19 2019/20 2020/2021
A 45 66 3
B 54 76 5
C 34 56 2
D 98 99 1
答案 0 :(得分:2)
这很丑,但是它应该可以工作而且应该很快。
Select DateAdd(Month, DateDiff(Month, 0, DateAdd(Month, -36, DateAdd(Month, 3 - DateDiff(Month, 0, GetDate()) % 12, GetDate()))), 0)