Tôi đồng ý với các nhận xét, rằng điều gì đó như thế này không nên được thực hiện trong cơ sở dữ liệu, nhưng về mặt kỹ thuật thì có thể. Nếu bạn cung cấp ngày bắt đầu và ngày kết thúc, hãy thêm các số bổ sung vào truy vấn con nếu cần:
SELECT '2011-02-01' + INTERVAL a + b DAY dte
FROM
(SELECT 0 a UNION SELECT 1 a UNION SELECT 2 UNION SELECT 3
UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7
UNION SELECT 8 UNION SELECT 9 ) d,
(SELECT 0 b UNION SELECT 10 UNION SELECT 20
UNION SELECT 30 UNION SELECT 40) m
WHERE '2011-02-01' + INTERVAL a + b DAY < '2011-03-01'
ORDER BY a + b
Kết quả:
"2011-02-01"
"2011-02-02"
"2011-02-03"
....
"2011-02-28"