我試圖在Oracle中創建一個觸發器來比較兩個日期,然後刪除記錄,如果兩個日期的差異低於一定的價值。我有一個格式爲「DD-MON-YYYY HH24MI」的完整日期值,然後對於第二個日期值,我想要將'DD-MON-YYYY'值與'HH24MI'值連接起來。Oracle/SQL:將日期和時間連接成單個日期值時的數字格式模型無效
我得到的問題是,當我嘗試使用to_char將日期和時間值連接在一起,然後對該返回的值使用to_date時,它給了我一個ORA-01481無效數字格式錯誤。下面是觸發器本身的相關行。如果任何人都可以幫助我,這將不勝感激!
CREATE OR REPLACE TRIGGER dateTrig
...
DECLARE
day date;
ftime date;
CURSOR c_table1 IS SELECT ...;
BEGIN
FOR entry IN c_table1 LOOP
day := to_date(entry.fdate);
ftime := to_date(to_char(day, 'DD-MON-YYYY') || ' ' || to_char(entry.dtime, 'HH24MI'), 'DD-MON-YYYY HH24MI'); -- this is the line that is causing the error
dbms_output.put_line(day || ', ' || ftime);
END LOOP;
END;
/
DTIME列的數據類型是什麼?你的代碼假設它是一個日期。但我懷疑它是。 – Codo
DTIME是一個varchar(4),在下午4點看起來像'1600',下午3:30看起來像'1530',等等。 – jsutton