簡體   English   中英

兩個日期之間的oracle差異

[英]oracle difference between two dates

我需要找到兩個日期之間的天數。

這是代碼:

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:在期望數字的地方找到了非數字字符

不要在日期上致電to_date sysdate已經是一個date 如果要從datum減去當日的午夜

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 := trunc(sysdate);

  rozdiel := datum - sdate;
  IF rozdiel > 5 THEN
     ERROR_SYS.Record_General('Nemozete Uvolnit VO c','');
  END IF;
end;

更改此行:

sdate := TO_DATE('sysdate','DD.MM.YYYY');

至:

sdate := sysdate;

您正在嘗試將STRING'sysdate'轉換為日期,而不是sysdate的函數結果。

另外,請注意您的nls設置,如果您的日期格式未設置為“ dd.mm.yyyy”,則會出現錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM