计算财政年度

时间:2016-01-30 10:41:10

标签: sql

我正在尝试添加会计年度列。我们的财政年度看起来像今年第一季度,第二季度第二季度,第三季度,第四季度,第四季度jan-mar

我有“TimeOfCall”列,显示

2013-01-26 07:44:51.000
2014-03-12 13:21:34.000 
2015-12-25 16:25:21.000  etc

搜索论坛我尝试使用以下内容。对于2015-12-25这个日期,这个会计年度为2016年。我需要它为2015年。

case when month(timeofcall) >4
then year(timeofcall) +1
else year(timeofcall) 
end as fiscal

理想情况下,我希望输出看起来像

TimeoFCall                      Fiscal Year
2013-01-26 07:44:51.000            2012-13
2014-03-12 13:21:34.000            2013-12
2015-12-25 16:25:21.000            2015-16

但这就足够了

TimeoFCall                      Fiscal Year
2013-01-26 07:44:51.000             2012
2014-03-12 13:21:34.000             2013
2015-12-25 16:25:21.000             2015

谢谢

2 个答案:

答案 0 :(得分:1)

这会有用吗?它说"如果是4月及以上,请采取当年,否则,采取前一年"。例如,2015年4月是2015财年,但2015年3月是2014财年。

case when month(timeofcall) >= 4
then year(timeofcall)
else year(timeofcall) - 1
end as fiscal

答案 1 :(得分:0)

一个简单的解决方案是"提取减去3个月后的年份" Oracle语法:

extract(year from add_months(timeofcall,-3))

当然,您还应该有一个日历,其中的事情是预先计算的......