我正在尝试添加会计年度列。我们的财政年度看起来像今年第一季度,第二季度第二季度,第三季度,第四季度,第四季度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
谢谢
答案 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))
当然,您还应该有一个日历,其中的事情是预先计算的......