calculate fiscal year in sql select statement?

后端 未结 10 1381
谎友^
谎友^ 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 @t table(StartDate date ,Year1 int)
    insert into @t values('04/01/2012',2013),('01/01/2012',2012),('09/15/2013',2014)
    ;with CTE as
    (select max(year1) maxyear from @t)
    , cte1 as
     (select cast('04/01/'+convert(varchar(4),a.year1) as  date) FromFY,dateadd(day,-1,dateadd(year,1,cast('04/01/'+convert(varchar(4),a.year1) as date))) ToFY
    
    
    ,b.year1 from @t a  inner join (select min(year1)year1 from @t) b on a.year1=b.year1
        union all
       select cast(dateadd(day,1,ToFY) as date),cast(dateadd(year,1,ToFY) as date),year1+1 year1 from     cte1 where year1<=(select maxyear from cte)
    )
    
    select * from cte1
    

提交回复
热议问题