ORACLE DBMS作业执行问题求助
我2月份创建了一个JOB,语句如下:
DECLARE
JOB NUMBER;
begin
sys.dbms_job.submit(job,
'SP_BIAS_JOB;',
to_date('07-02-2014 16:00:00', 'dd-mm-yyyy hh24:mi:ss'),
'TRUNC(LAST_DAY(SYSDATE))+22.5/24');
commit;
end;
要求是每个月的最后一天的22:30执行语句,但到3月份查看的时候,执行的时间不是2月28号的晚上22:30
而是3月1号执行的,请问是什么原因?
执行时间如图:
------解决方案--------------------应该与你开始时间有关。
LAST_DAY(SYSDATE)取值日期虽然没错,但是时间去的是当前。
比如现在取LAST_DAY(SYSDATE)其值是2014/3/31 14:02:29
在加上你的22.5/24肯定下次执行的时间是第二天了。。
建议开始时间设置为yyyy-mm-dd 00:00:01
------解决方案--------------------
interval时间间隔应该是这样吧
TRUNC(LAST_DAY(add_months(sysdate,1)))+22.5/24