jobs的scripts程序段如下
DECLARE
  X NUMBER;
BEGIN
  SYS.DBMS_JOB.SUBMIT
    ( job       => X 
     ,what      => 'MYCOM_USER.Proc_Report(SYSDATE -1);'
     ,next_date => to_date('17-03-2009 05:00:00','dd/mm/yyyy hh24:mi:ss')
     ,interval  => 'TRUNC(SYSDATE+1)+5/24'
     ,no_parse  => TRUE
    );
END;
/问题:     ,interval  => 'TRUNC(SYSDATE+1)+5/24'  这一句是什么意思?我尤其不懂的是'TRUNC(SYSDATE+1)+5/24'  。请不吝赐教,谢谢!

解决方案 »

  1.   

    你执行下面这句,看结果,得出的结果就是你的job下次将要运行的时间点.
    select 'TRUNC(SYSDATE+1)+5/24'  from dual;
      

  2.   

    多了引号
    select TRUNC(SYSDATE+1)+5/24 from dual;
      

  3.   

    DATE 在数据库中其实是个数值,以天为单位,trunc(SYSDATE+1 )+5/24意思就是系统当前时间+1天的0点,再加上5小时,也就是半夜五点
      

  4.   

    trunc(SYSDATE+1 )+5/24 第二天5点
      

  5.   

    sysdate是包括时间的
    trunc的意思是只取日期
      

  6.   

    大家欠缺的是什么呢?
    一种方法?还是一种精神。
    这样的问题,在sql中执行一次就知道结果。
    授人以鱼,不如授人以渔
      

  7.   

    TRUNC有几种用法:
    1.TRUNC(date[,fmt])按指定格式截取日期
    2.TRUNC(number[,decimals]) 这里的用法就和ROUND比较相似了。不加decimals就是取整。LZ的情况就是第二种用法,把sysdate的时间部分舍弃了,只取日期部分。可以比较下以下两句话的区别,相信能有直观的体会:
    select TRUNC(SYSDATE+1)+5/24 from dual;
    select (SYSDATE+1)+5/24 from dual;