求教如何用系统函数获取上季节的最后一天

解决方案 »

  1.   

    似乎没这样的函数,你记得用last_day函数获得某月最后一天。你做个function,先判断当前月份是几月,然后找出上季节的最后一个月是几月份,然后用last_day函数得到最后一天就可以了!
      

  2.   

    try it ..
    SQL> select sysdate from dual;SYSDATE
    -----------
    2007-11-17SQL> 
    SQL> select decode(to_char(add_months(sysdate,-4),'Q'),
      2                1,last_day(to_date(to_char(add_months(sysdate,-4),'yyyy')||03,'yyyymm')),
      3                2,last_day(to_date(to_char(add_months(sysdate,-4),'yyyy')||06,'yyyymm')),
      4                3,last_day(to_date(to_char(add_months(sysdate,-4),'yyyy')||09,'yyyymm')),
      5                4,last_day(to_date(to_char(add_months(sysdate,-4),'yyyy')||12,'yyyymm'))) from dual;DECODE(TO_CHAR(ADD_MONTHS(SYSD
    ------------------------------
    2007-9-30