ビューを動的に作成して、会計年度 (会計年度) に基づいてデータを取得するにはどうすればよいですか。
サンプルデータがあるサンプルデータを見てみましょう。
Declare @t table(StartDate date )
insert into @t values('04/01/2012'),
('01/01/2012'),
('09/15/2013'),
('04/01/2014'),
('01/01/2015'),
('09/15/2015'),
('04/01/2016'),
('01/01/2017'),
('09/15/2016')
たとえば、今日ビューを実行した場合、2016 年 3 月から 2017 年 4 月までのデータを取得する必要があります。2017 年 5 月にビューを実行した場合、2017 年 3 月から 2017 年 5 月までのデータを取得する必要があります。サーバースクリプトまたはストアドプロシージャですが、 Dynamic View または View で同じ結果を得るにはどうすればよいですか。私に提案してください!
私のスクリプト
DECLARE @STARTDATE DATETIME, @ENDDATE DATETIME,@CURR_DATE DATETIME
SET @CURR_DATE='2016-06-01'
IF MONTH(@CURR_DATE) IN (1,2,3)
BEGIN
SET @STARTDATE= CAST( CAST(YEAR(@CURR_DATE)-1 AS VARCHAR)+'/04/01' AS DATE)
SET @ENDDATE= CAST( CAST(YEAR(@CURR_DATE) AS VARCHAR)+'/03/31' AS DATE)
END
ELSE
BEGIN
SET @STARTDATE= CAST( CAST(YEAR(@CURR_DATE) AS VARCHAR)+'/04/01' AS DATE)
SET @ENDDATE= CAST( CAST(YEAR(@CURR_DATE)+1 AS VARCHAR)+'/03/31' AS DATE)
END
select * from @t
where StartDate between
@STARTDATE AND @ENDDATE
order by year (StartDate)
会計年度(2016-2017)に必要なデータを提供していますが、これを使用してVIEWを作成するにはどうすればよいですか