【问题标题】:Fiscal year and fiscal quarter财政年度和财政季度
【发布时间】:2020-10-22 02:28:42
【问题描述】:

我有一张表格,用于存储订单日期 YYYY-MM_DD。

如何创建具有以下要求的会计年度和会计季度: 财政年度:

  1. Fiscal_Year_2000 的开始日期为 1999-07-01,结束日期为 2000-06-31
  2. Fiscal_year_2001 的开始日期为 2000 年 7 月 1 日,结束日期为 2001 年 6 月 31 日

财政季度:

  1. Fiscal_Quarter_1 例如 FY2000 开始于 1999 年 7 月 1 日,结束于 1999 年 9 月 31 日
  2. 2000 财年 FQ2、FQ3、FQ4
  3. FQ1/2/3/4 for FY2001

我试过了

WHERE  OrderDate BETWEEN '1999-07-01' and '2001-06-31'
DATEADD (month,7,OrderDate) AS [OrderDateNew],
DATEPART(Year, [OrderDateNew]) as [FY], 
DATEPART(QUARTER, dateadd(month,3,[OrderDateNew])) as [FQ]

我得到了一些非常奇怪的结果。非常感谢任何帮助。

输出应该是这样的:

FY     FQ   Some other data columns of products, sales etc
2000   1
2000   2
2000   3
2000   4
2001   1
2001   2
2001   3
2001   4

【问题讨论】:

    标签: sql sql-server fiscal


    【解决方案1】:

    只需添加六个月并使用年份。例如,如果你想要 2000 财年:

    where year(dateadd(month, 6, orderdate)) = 2000
    

    如果您想要 FY 年度和季度,请使用相同的想法:

    select year(dateadd(month, 6, orderdate)) as fyear,
           datepart(quarter, dateadd(month, 6, orderdate)) as fquarter
    

    【讨论】:

    • 为什么我们在上面加“6”而不是“7”?
    • 1999-07-01 + 6 个月 = 2000-01-01 这将开始您的 2000 财年
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    • 1970-01-01
    相关资源
    最近更新 更多