如何根据SQL Server中的视图中的日期字段计算会计年度?
ac1kyiln16#
本例的最简单表达式:YEAR(DATEADD(month, 3, Date))
YEAR(DATEADD(month, 3, Date))
财政年度是联邦政府的会计期间。它从10月1日开始,到下一个历年的9月30日结束。每个财政年度由其结束的日历年度标识,通常被称为“FY”。例如,2003财年从2002年10月1日开始,到2003年9月30日结束...这样做的目的是让国会有更多的时间来处理拨款立法,特别是避免持续的决议。
这可能不适用于美国以外的其他国家和地区,但你只需根据需要替换数字3。
2ic8powd17#
我已经扩展了ChrisF和Conficker发布的答案。
DECLARE @FFYStartMonth INT = 10 --The first month of the FFY DECLARE @EntryDate DATETIME = '4/1/2015' --The date of the data DECLARE @StartDate DATETIME DECLARE @EndDate DATETIME SET @StartDate = DATEADD(dd, 0, DATEDIFF(dd, 0, DATEADD(mm, - (((12 + DATEPART(m, @EntryDate)) - @FFYStartMonth)%12), @EntryDate) - datePart(d,DATEADD(mm, - (((12 + DATEPART(m, @EntryDate)) - @FFYStartMonth )%12), @EntryDate )) + 1 )) SET @EndDate = DATEADD(SS, -1, DATEADD(mm, 12, @StartDate)) SELECT @StartDate, @EndDate
2guxujil18#
CASE WHEN MONTH(Date) > 6 THEN YEAR(Date) + 1 ELSE YEAR(Date) END AS [FISCAL YEAR]
In this case, Fiscal Year starts on 7/1. This is the simplest solution out there.
nhaq1z2119#
以下是澳大利亚财政年度开始日期代码
select DATEADD(dd,0, DATEDIFF(dd,0, DATEADD( mm, -(((12 + DATEPART(m, getDate())) - 7)%12), getDate() ) - datePart(d,DATEADD( mm, -(((12 + DATEPART(m, getDate())) - 7)%12),getDate() ))+1 ) )
它像'2012-07-01 00:00:00.000'一样返回
'2012-07-01 00:00:00.000'
gzjq41n420#
CASE WHEN MONTH(@Date) > 10 THEN YEAR(@Date) + 1 ELSE YEAR(@Date) END
20条答案
按热度按时间ac1kyiln16#
本例的最简单表达式:
YEAR(DATEADD(month, 3, Date))
联邦财政年度
财政年度是联邦政府的会计期间。它从10月1日开始,到下一个历年的9月30日结束。每个财政年度由其结束的日历年度标识,通常被称为“FY”。例如,2003财年从2002年10月1日开始,到2003年9月30日结束...这样做的目的是让国会有更多的时间来处理拨款立法,特别是避免持续的决议。
这可能不适用于美国以外的其他国家和地区,但你只需根据需要替换数字3。
2ic8powd17#
我已经扩展了ChrisF和Conficker发布的答案。
2guxujil18#
In this case, Fiscal Year starts on 7/1. This is the simplest solution out there.
nhaq1z2119#
以下是澳大利亚财政年度开始日期代码
它像
'2012-07-01 00:00:00.000'
一样返回gzjq41n420#