我需要找到两个日期之间的天数 .
这是代码:
declare
datum DATE;
sdate DATE;
shpord NUMBER;
rozdiel NUMBER;
MESSAGE VARCHAR(2000) := 'Nemozete Uvolnit VO c.';
begin
datum := TO_DATE('&OLD:NEED_DATE','DD.MM.YYYY');
sdate := TO_DATE(sysdate,'DD.MM.YYYY');
rozdiel := datum - sdate;
IF rozdiel > 5 THEN
ERROR_SYS.Record_General('Nemozete Uvolnit VO c','');
END IF;
end;
我收到一个错误:
ORA-01858:找到了一个非数字字符,其中包含数字
2 回答
改变这一行:
至:
您正在尝试将STRING'sysdate'转换为日期,而不是sysdate的函数结果 .
此外,观看您的nls设置,如果您的日期格式未设置为'dd.mm.yyyy',您将收到错误 .
不要在约会时拨打
to_date
.sysdate
已经是date
. 如果你想从datum
减去当天的午夜