截断日期到会计年度

Dav*_*vis 11 sql oracle truncate oracle11g

以下数据库视图将日期截断为会计年度(4月1日):

CREATE OR REPLACE VIEW FISCAL_YEAR_VW AS
SELECT
  CASE
    WHEN to_number(to_char(SYSDATE, 'MM')) < 4 THEN    
      to_date('1-APR-'||to_char(add_months(SYSDATE, -12), 'YYYY'), 'dd-MON-yyyy')
    ELSE
      to_date('1-APR-'||to_char(SYSDATE, 'YYYY'), 'dd-MON-yyyy')
  END AS fiscal_year
FROM
  dual;
Run Code Online (Sandbox Code Playgroud)

这允许我们根据今天的日期计算当前会计年度.

如何简化或优化此计算?

Jef*_*emp 11

ADD_MONTHS(TRUNC(ADD_MONTHS(SYSDATE,-3),'YYYY'),3)
Run Code Online (Sandbox Code Playgroud)