我想弄清楚如何比較where子句中日期減法的結果。Oracle - where子句中的日期減法
訂閱服務的客戶,因此鏈接到具有結束日期的訂閱。我想要顯示在接下來的兩週內即將結束的訂閱列表。 我沒有設計數據庫,但注意到End_Date列的類型是一個varchar而不是日期..我無法改變這一點。
我的問題如下: 如果我儘量選擇減法,例如用如下請求的結果:
SELECT(TO_DATE(s.end_date,'YYYY-MM-DD') - TRUNC(SYSDATE)) , s.name
from SUBSCRIPTION s WHERE s.id_acces = 15
這將工作給我的天數認購結束之間和當前日期。
但現在,如果我嘗試包括子句中完全相同的請求,其中比較:
SELECT s.name
from SUBSCRIPTION S
WHERE (TO_DATE(s.end_date,'YYYY-MM-DD') - TRUNC(SYSDATE)) between 0 and 16
我會得到一個錯誤:「ORA-01839:日期不適用於指定的月份」。 任何幫助,將不勝感激..
這是我一直在尋找的要求!非常感謝 ! – Marc