如何去得到sysdate当年、当季、当周的最后一天?
谢谢

解决方案 »

  1.   

    年:
    select add_months(trunc(sysdate, 'year'), 12) - 1 from dual
      

  2.   

    周:
    select sysdate + (7 - to_number(to_char(sysdate, 'w')) - 1) from dual
      

  3.   

    sysdate当年 
    select to_char(sysdate,'yyyy')||'-12-31' from dual
    当季
    Select last_day(to_date(to_char(sysdate,'yyyy-')||to_char(Sysdate,'q')*3,'yyyy-mm')) From dual
    当周(周日?)
    select trunc(sysdate,'iw') + 6 from dual
      

  4.   

    季:
    每个季度的最后一天是固定的,只要拼凑一下就可以了e.g.:
    select decode(to_char(sysdate, 'Q'), '1', '?-03-31', '2', '?-06-31', '3', '?-09-30', '4', '?-12-31') 
    from dual