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;