最后一天
select last_day(rq) into d_date from dual;
第一天
select last_day(last_day(rq)-31) + 1 into d_date from dual;

解决方案 »

  1.   

    SQL> select sysdate, trunc(sysdate,'MON') fd, last_day(sysdate) ld
         from dual;SYSDATE   FD        LD
    --------- --------- ---------
    05-NOV-02 01-NOV-02 30-NOV-02
      

  2.   

    直接运行hanps()兄的语句不行,into 到一个变量好象不这样写。不过真的比较佩服他的算法,这个月的最后一天减31得到上个月的一天,再得到上个月的最后一天,加1得到这个月的第一天,这个简单的函数被他用得很熟,舒服,忍不住添足的注几句。
      

  3.   

    最后一天
    select last_day(rq) as d_date from dual;
    第一天
    select last_day(last_day(rq)-31) + 1 as d_date from dual;
      

  4.   

    同意hanps() 
    不错,学习
      

  5.   

    pl/sql 中有日期函数
    还是三千兄的方法简单明了,建议使用。