财政年度 - 抓住一份清单

时间:2010-12-09 00:42:20

标签: sql sql-server

我需要获取所有会计年度的清单......例如,从11月到10月。我不确定这是否是正确的解决方案:

  SELECT DISTINCT YEAR([date received]) AS [YEAR]  
    FROM [inventory]  
UNION ALL  
  SELECT  MAX(YEAR([date received])) + 1 AS [YEAR]  
    FROM [inventory]  
ORDER BY YEAR DESC  
GO

1 个答案:

答案 0 :(得分:2)

您的解决方案看起来不错。根据数据,您可能包括第一个日历年,可能没有与之相关的数据作为会计年度。例如,如果您的第一个日期是2009年12月1日,那么您的第一个会计年度是2010年。您的解决方案将包括2009年。

这是一个可能适合您的查询

SELECT DISTINCT YEAR(DATEADD(mm, 2, [date received])) as [FISCAL_YEAR]
FROM [inventory]
ORDER BY [FISCAL_YEAR]

在转移2个月(11月变为1月)之后得到年份值。