如何在自定义会计年度开始时将月份返回为int

eivgtgni  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(352)

我有一个查询,它决定了我想要的财政年度的开始时间:

DECLARE @StartOfFY int;
SET @StartOfFY = -4; -- September
SELECT DateAdd(mm, @StartOfFY, 
        DateAdd(yy,
            DateDiff(yy,0,
                DateAdd(mm,0,Getdate())
            ),0
         )
        ) 
-- Returns 2019-09-01 00:00:00.000

我在这个网站上查询:https://www.sqlservercentral.com/articles/how-to-handle-calculations-related-to-fiscal-year-and-quarter
我想要的会计年度开始日期是 September 我希望查询根据会计年度月份返回int。
例:如果月份是 September 返回1,表示 October 返回2,依此类推,直到到达 September 再次返回1。

d6kp6zgx

d6kp6zgx1#

减去8个月,返回月份:

select month(dateadd(month, -8, getdate()))

实际上,因为财政年度可能是下一年,所以2020年9月是2021财年,加上四个月,然后是一年一个月的工作:

select month(dateadd(month, 4, getdate())) as fy_month,
       year(dateadd(month, 4, getdate())) as fy_year

相关问题