【问题标题】:SQL Previous Fiscal YearSQL 上一会计年度
【发布时间】:2016-06-04 02:32:21
【问题描述】:

我有一个显示本财年迄今数据的视图。我需要另一个可以显示上一财年的视图。我有一个包含财政年度开始和结束日期的表格。即 7/1/YYYY 到 6/30/YYYY。

【问题讨论】:

  • 你尝试过...?
  • 标记使用的 dbms。 (在日期/时间方面,许多产品远不符合 ANSI SQL。)
  • 请提供视图和列名,以及示例数据和所需的输出。
  • 我正在尝试根据 Order# 和上一会计年度创建视图。该列将是订单日期。我希望视图仅显示上一个会计年度的数据,但我需要动态,因为它将用于报告目的,我不想手动过滤会计年度。

标签: sql date view filter


【解决方案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')

【讨论】:

    【解决方案2】:

    我认为这个解决方案会奏效。

    在 DATEADD(Month,6,DATEADD(yy, DATEDIFF(yy,1,GETDATE())-2,0)) 和 DATEADD(month,6,DATEADD(dd,-1,DATEADD(yy, DATEDIFF(yy,0,GETDATE())-1,0)))

    【讨论】:

    • 此解决方案实际上不起作用,因为它是迄今为止的上一个财政年度,而不是上一个财政年度
    猜你喜欢
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 2022-01-24
    相关资源
    最近更新 更多