calculate fiscal year in sql select statement?

后端 未结 10 1402
谎友^
谎友^ 2020-12-19 05:10

I have a date field that needs to return in fiscal year format. example

Start_Date        Year 
04/01/2012 -      2013
01/01/2012 -      2012
09/15/2013 -            


        
10条回答
  •  被撕碎了的回忆
    2020-12-19 06:03

    declare @Date smalldatetime, @FiscalYearStartMonth tinyint
    set @Date = GETDATE();
    set @FiscalYearStartMonth = 1; -- Jan
    
    print convert(varchar(4), 
    case when MONTH(@Date) < @FiscalYearStartMonth 
    then YEAR(@Date) -1 
    else YEAR(@Date) end)
    

    assuming @Date is your [Start_Date] field, you can:

    select * from yourTable 
    group by convert(varchar(4), 
    case when MONTH([Start_Date]) < @FiscalYearStartMonth 
    then YEAR([Start_Date]) -1 
    else YEAR([Start_Date]) end)
    

    Hope this helps

提交回复
热议问题