本帖最后由 x_911 于 2010-08-24 11:11:10 编辑

解决方案 »

  1.   

    这样就是上个月零时零分零秒:SELECT trunc(add_months(SYSDATE,-1),'mm') FROM dual;要打印一个参数,可以用:dbms_output.put_line('参数');
      

  2.   

    好像不能这样赋值!
    v_begintime :=SELECT trunc(add_months(SYSDATE,-1),'mm') FROM dual;
      

  3.   

    select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') || ' 00:00:00' firstDay from dual;这样可以不
      

  4.   


    v_begintime :=trunc(add_months(SYSDATE,-1),'mm');
    这样可以了,但是我不知道得到的时间是不是正确的!
      

  5.   

    是正确的,你可以这样试试:SQL> 
    SQL> SELECT 1
      2   FROM dual
      3   WHERE trunc(add_months(SYSDATE, -1), 'mm') = to_date('2010-07-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss');
     
             1
    ----------
             1
     
    SQL>