我已經編寫了一個程序來查找兩個日期之間的差異,並以YYYY-MM-DD
格式顯示結果,但遇到錯誤。誰可以幫我這個事?PL/SQL:兩個日期之間的差異
CREATE OR REPLACE PROCEDURE DATECALCULATOR(DATE_1 IN DATE, DATE_2 IN DATE) AS
DATEDIFF DATE;
BEGIN
DATEDIFF=TO_DATE(DATE_1,'YYYY-MM-DD')-TO_DATE(DATE_2,'YYYY-MM-DD');
DBMS_OUTPUT.PUT_LINE ('Date difference is: ' || TO_DATE(DATEDIFF,'YYYY-MM-DD'));
END;
/
Excecute程序代碼:
EXECUTE DATECALCULATOR('2017-09-10', '2010-01-01');
你不能做到這一點。你的期望是什麼? '0007-09-10'?你會考慮這個輸出的閏年嗎?你認爲30天的「一個月」是什麼? 31天?什麼是「一年」? –
謝謝! 應該怎麼做才能得到YYYY-MM-DD格式的結果? –
我的評論不清楚嗎? YYYY-MM-DD是**日期**,即時間線上的某個點,日曆中的某一天。兩個日期之間的差異是一個時間間隔。您不能將其格式設置爲YYYY-MM-DD - 至少不能以有用的方式進行格式化。爲我的問題提供答案,然後您可能會得到一個醜陋解決方法的解決方案。 –