2016-03-01 72 views
-1

我有下面的腳本,我希望腳本顯示兩天之間的天數,基本上消除了數字的負號。這可能嗎?PL/SQL - 兩天之間的日子

select (TO_DATE(START_DATE, 'DD-MM-YYYY') - TO_DATE(END_DATE, 'DD-MM-YYYY')) AS days 

From testtable1 

輸出是:

Days 
-5 
-6 
    etc. 

回答

0

使用ABS:

數量轉換爲一個絕對值。

select ABS(TO_DATE(START_DATE, 'DD-MM-YYYY') - TO_DATE(END_DATE, 'DD-MM-YYYY')) AS days 

From testtable1 
+0

爲什麼你發佈一個問題,然後自己馬上回答它? – Tenzin

3
SELECT (TO_DATE('06-05-1994', 'DD-MM-YYYY') - TO_DATE('01-05-1994', 'DD-MM-YYYY')) AS "Days" 
FROM DUAL; 

爲什麼這個查詢返回負值的原因是因爲你是圓做一個計算的另一方式。讓我們以上面的查詢爲例。

開始日期 - > 1994年1月5日& &結束日期 - > 1994年6月5日

01 - 06 = -5天

翻轉值是你所需要的

06 - 01 = 5天

希望你覺得這有幫助。