我的视图显示的是截至会计年度的数据。我需要另一个显示上一财年的视图。我有一个包含会计年度开始和结束日期的表。即7/1 / YYYY至6/30 / YYYY。
答案 0 :(得分:1)
我建议您根据应用程序的会计年度使用用户定义的函数。
CREATE FUNCTION dbo.fnc_FiscalYear(
@AsOf DATETIME
)
RETURNS INT
AS
BEGIN
DECLARE @Answer INT
-- You define what you want here (July being your changeover month)
IF ( MONTH(@AsOf) < 7 )
SET @Answer = YEAR(@AsOf) - 1
ELSE
SET @Answer = YEAR(@AsOf)
RETURN @Answer
END
GO
像这样使用:
SELECT dbo.fnc_FiscalYear('7/1/2016')
SELECT dbo.fnc_FiscalYear('6/30/2015')
答案 1 :(得分:1)
我认为这个解决方案可行。
在DATEADD之间(月,6,DATEADD(yy,DATEDIFF(yy,1,GETDATE()) - 2,0))和 DATEADD(月,6,DATEADD(dd,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE()) - 1,0)))