Calculate fiscal year in SQL Server

R0b0tn1k picture R0b0tn1k · Nov 20, 2009 · Viewed 78.2k times · Source

How would you calculate the fiscal year from a date field in a view in SQL Server?

Answer

Brett Veenstra picture Brett Veenstra · Nov 20, 2009

I suggest you use a User-Defined Function based on the Fiscal year of your application.

CREATE FUNCTION dbo.fnc_FiscalYear(
    @AsOf           DATETIME
)
RETURNS INT
AS
BEGIN

    DECLARE @Answer     INT

    -- You define what you want here (September being your changeover month)
    IF ( MONTH(@AsOf) < 9 )
        SET @Answer = YEAR(@AsOf) - 1
    ELSE
        SET @Answer = YEAR(@AsOf)


    RETURN @Answer

END



GO

Use it like this:

SELECT dbo.fnc_FiscalYear('9/1/2009')


SELECT dbo.fnc_FiscalYear('8/31/2009')