如下:
   select last_day(add_months(sysdate,1)) from dual;

解决方案 »

  1.   

    select add_months(sysdate,2)-1 from dual;
    我一般喜欢这么用,呵呵
      

  2.   

    trunc(add_months(sysdate,2),'month')-1
      

  3.   

    同意ern(与Oracle斗,其乐无穷) 
    因为我也喜欢这个写法,hiahia
    SELECT ADD_MONTHS(SYSDATE, 2) - 1 FROM DUAL;
      

  4.   

    SELECT ADD_MONTHS(SYSDATE, 2) - 1 FROM DUAL
    ADD_MONTHS(SYSDATE,2)-1
    -----------------------
    2006-7-29 14:58:00     
    1 row selectedselect last_day(add_months(sysdate,1)) from dual
    LAST_DAY(ADD_MONTHS(SYSDATE,1)
    ------------------------------
    2006-6-30 14:58:12            
    1 row selected
      

  5.   

    为什么这两个截然不同呢:SELECT TRUNC(ADD_MONTHS(SYSDATE,2), 'month')-1 FROM DUAL
    TRUNC(ADD_MONTHS(SYSDATE,2),'M
    ------------------------------
    2006-6-30                     
    1 row selectedSELECT ADD_MONTHS(SYSDATE, 2) - 1 FROM DUAL
    ADD_MONTHS(SYSDATE,2)-1
    -----------------------
    2006-7-29 14:58:00     
    1 row selected
      

  6.   

    sorry,顺手写的,应该是这样
    SELECT ADD_MONTHS(trunc(SYSDATE,'month'), 2) - 1 FROM DUAL
    SELECT TRUNC(ADD_MONTHS(SYSDATE,2), 'month')-1 FROM DUAL也是一样的