我正在寻找一个sql解决方案,在oracle开发人员sql的工作,将计算当前季度的开始和结束日期的sysdate的基础上,财政日历开始于2020年2月1日。每个季度固定为13周(91天),而不是3个月,因此每年的会计日历略有不同。
代码将上载到自动报告,不希望每年对其进行调整。本年度会计日历附为示例说明。当前会计日历
我开始沿着这条路往前走,但当我意识到开始日期不能以这种格式正确时,我迷路了。
end解决方案将用于where子句以确定报告日期范围,例如(where report日期介于修改的季度开始和系统日期之间)
select trunc(add_months(add_months(trunc(sysdate,'Y') -1 ,
to_number(to_char(sysdate,'Q')) * 3),-1),'MM')
start_date,trunc(add_months(add_months(trunc(sysdate,'Y') -1 ,
to_number(to_char(sysdate,'Q')) * 3),+2),'MM')-1 Endd_date,
add_months(trunc(sysdate,'Y') -1 ,to_number(to_char(sysdate,'Q')) * 3) end_date ,
to_char(sysdate,'YYYY - q') qtr from dual
非常感谢您的帮助。
1条答案
按热度按时间yzckvree1#
以防将来有人遇到同样的情况。在另一个线程中读了固定天数的案例声明后,我想到了这个解决方案。