i want to get previous three financial year in sql query.
DECLARE @Date DATETIME= '2018-01-16';
DECLARE @Output TABLE ( Item NVARCHAR(1000) );
DECLARE @6 SMALLDATETIME;
DECLARE @8 VARCHAR(20);
DECLARE @9 VARCHAR(20);
SET @8 = CAST(YEAR(@Date) AS INT);
SET @6 = CAST(MONTH(@Date) AS INT);
DECLARE @count INT= 0;
WHILE @count <= 2
BEGIN
IF ( @6 > 3 )
BEGIN
SET @8 = CAST(YEAR(@Date) AS INT) + 1;
SET @9 = CAST(YEAR(@Date) AS INT);
SET @9 = @9 + '-' + @8;
INSERT INTO @Output
( Item )
SELECT @9;
SET @count = @count + 1;
SET @8 = @8 - 1;
END;
ELSE
IF ( @6 < 4 )
BEGIN
SET @8 = CAST(YEAR(@Date) AS INT) - 1;
SET @9 = CAST(YEAR(@Date) AS INT);
SET @9 = @8 + '-' + @9;
INSERT INTO @Output
( Item )
SELECT @9;
SET @count = @count + 1;
SET @8 = @8 - 1;
END;
END;
SELECT *
FROM @Output;