1 --年初,年末 2 select trunc(sysdate,'yyyy') from dual; 3 select add_months(trunc(sysdate,'yyyy'),12) - 1 from dual; 4 5 --月初,月末 6 select trunc(sysdate,'month') from dual; 7 select add_months(trunc(sysdate,'month'),1) -1 from dual; 8 9 --季度初,季度末 10 select trunc(sysdate,'q') from dual; 11 select add_months(trunc(sysdate,'q'),3)-1 from dual;
如果需要上一年的年末,只需要年初减一天;下一年的年初,只需要年末加一天。
对应的,月末前一天,月末后一天,季度初前一天,季度末后一天,都只需要加一天或者减一天。