LAST_DAY SYNTAX:     LAST_DAY(d) PURPOSE:     Returns the date of the last day of the month that contains d. You 
    might use this function to determine how many days are left in the 
    current month. EXAMPLES:     SELECT SYSDATE, LAST_DAY(SYSDATE) "Last", 
    LAST_DAY(SYSDATE) - SYSDATE "Days Left" 
        FROM DUAL     SYSDATE    Last       Days Left     ---------  ---------  --------- 
    18-NOV-92  30-NOV-92         12     SELECT TO_CHAR(ADD_MONTHS(LAST_DAY(hiredate),5), 
    'DD-MON-YYYY') "Five months" 
    FROM emp 
        WHERE ename = 'MARTIN'     Five months 
    ----------- 
    28-FEB-1992 

解决方案 »

  1.   

    sql_plus下试试:
    select last_day(sysdate-60)+1 from dual;
      

  2.   

    select last_day(sysdate-61)+1 from dual;
      

  3.   

    select to_date(to_char(sysdate,'yyyymm') -1,'yyyymm') from dual;
      

  4.   

    SQL> select last_day(add_months(sysdate,-2))+1 from dual;LAST_DAY(A
    ----------
    01-5月 -03
      

  5.   

    select trunc(add_months(sysdate,-1),'month') from dual;
      

  6.   

    select trunc(sysdate,'month')-1 from dual
      

  7.   

    SQL> select trunc(add_months(sysdate,-1),'mm') from dual;TRUNC(ADD_MONTHS(SYSDATE,-1),'
    ------------------------------
    2003-5-1