我需要從現在開始獲得最近10天 我目前有如下Oracle sql查詢來獲取最後10個日期。Oracle獲得最後10天sql
WITH DATES AS (
SELECT sysdate - 10 AS value_date FROM dual
UNION
SELECT sysdate - 9 AS value_date FROM dual
UNION
SELECT sysdate - 8 AS value_date FROM dual
UNION
SELECT sysdate - 7 AS value_date FROM dual
UNION
SELECT sysdate - 6 AS value_date FROM dual
UNION
SELECT sysdate - 5 AS value_date FROM dual
UNION
SELECT sysdate - 4 AS value_date FROM dual
UNION
SELECT sysdate - 3 AS value_date FROM dual
UNION
SELECT sysdate - 2 AS value_date FROM dual
UNION
SELECT sysdate - 1 AS value_date FROM dual
UNION
SELECT sysdate AS value_date FROM dual
UNION
SELECT sysdate + 1 AS value_date FROM dual
但我想要一個更正確和有效的方式來獲得過去10個日期。聯合查詢看起來很髒。 如何在Oracle SQL中執行此操作?
您正在尋找的東西,如'VALUES'條款(http://modern-sql.com/feature/values),但甲骨文仍然沒有按」不支持它。如果你喜歡,你可以編寫一個遞歸查詢。比'UNION'查詢更好。順便說一下,它應該是'UNION ALL',因爲沒有重複刪除 - 不要給DBMS更多的工作要做。 –