oracle中取当前年度,从oracle中的日期获取财政年度

这篇博客讨论了如何使用SQL查询来确定财政年度的开始和结束日期,特别是针对那些以4月1日为财年开始的公司。通过ADD_MONTHS和EXTRACT函数,可以计算出给定日期前3个月和9个月的年份,从而得到财政年度的跨度。示例查询展示了如何在WHERE子句中使用这些日期来过滤特定财政年度的记录。
摘要由CSDN通过智能技术生成

由于有3个月的抵消,你应该从当前日期减去3个月,然后提取年份。

SELECT EXTRACT (YEAR FROM ADD_MONTHS (SYSDATE, -3))

|| '-'

|| EXTRACT (YEAR FROM ADD_MONTHS (SYSDATE, 9))

FROM DUAL;

输出:2013-2014

SELECT EXTRACT (YEAR FROM ADD_MONTHS (DATE '2013-03-31', -3))

|| '-'

|| EXTRACT (YEAR FROM ADD_MONTHS (DATE '2013-03-31', 9))

FROM DUAL;

输出:2012-2013

编辑:

要找到在财政年度的所有记录,首先你需要找到的开始和结束该财政年度的日期始终是4月1日和3月31日。有几种方法可以实现这一点。我将继续采用与上述相同的方法,因为我们已经有了这一年。

Start_date:= to_date('01-04-'||EXTRACT (YEAR FROM ADD_MONTHS (reference_date, -3)),'dd-mm-yyyy')

End_date := to_date('01-04-'||EXTRACT (YEAR FROM ADD_MONTHS (reference_date, 9)),'dd-mm-yyyy')

所以,你的where子句应该看起来像这样。

select * from table_name

where column_name between Start_date and End_date;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值