1. 程式人生 > 其它 >獲取2個日期之間的所有日期

獲取2個日期之間的所有日期

獲取2個日期之間的所有日期

問題:查詢對應日期範圍內的具體日期

例如:獲取某一個月的資料報表(想用sql一下子寫完),然而資料庫只有幾天的記錄資訊

解決方法:sql、儲存過程、變數控制、維護一個系統日期表...等


現在以sql的方式解決問題

輸入:2022-4-10 ~ 2022-4-15
結果:
2022-4-11
2022-4-12
2022-4-13
2022-4-14
2022-4-15

sql

SELECT * FROM
    (
        SELECT adddate('1970-01-01',t4.i * 10000 + t3.i * 1000 + t2.i * 100 + t1.i * 10 + t0.i) selected_date
        
FROM ( SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) t0, ( SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION
SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) t1, ( SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) t2, ( SELECT 0
i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) t3, ( SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) t4 ) a WHERE selected_date BETWEEN '2022-04-18'AND '2022-04-19'

結果