【发布时间】:2017-03-01 22:27:08
【问题描述】:
我在 Oracle 中有一个存储过程。我想在 Oracle 的 JOBS 中调用它。
DECLARE
P_DATE DATE;
BEGIN
P_DATE := TO_DATE ('19/10/2016', 'DD/MM/YYYY');
MITRA.PENJUALAN_ANTAR_CABANG.REPORTKONSOLRK ( P_DATE );
COMMIT;
END;
当我将 P_DATE 执行为 '19/10/2016' 时,结果是正确的。但是当我在下面这样改变它时,结果不会显示。
DECLARE
P_DATE DATE;
BEGIN
P_DATE := TO_DATE (TRUNC (SYSDATE - 1), 'DD/MM/YYYY');
MITRA.PENJUALAN_ANTAR_CABANG.REPORTKONSOLRK (P_DATE);
COMMIT;
END;
我的查询错误是什么,而如果我运行select trunc(SYSDATE-1) from dual,日期是正确的。
【问题讨论】:
-
当您使用
TRUNC (SYSDATE - 1)时究竟会发生什么? -
结果是 10/19/2016。但是当我把它放在 P_DATE := TO_DATE (TRUNC (SYSDATE - 1), 'DD/MM/YYYY');不工作
-
从不,永远不要在
DATE值上调用to_date()。只是不要