生成连续日期sql
WITH RECURSIVE DateRange AS (
SELECT
DATE('2024-07-20') AS date
UNION ALL
SELECT
DATE_ADD(date, INTERVAL 1 DAY)
FROM
DateRange
WHERE
date < '2024-07-25'
)
SELECT
date AS formatted_date
FROM
DateRange
递归 CTE DateRange:
- DATE(‘2024-07-20’) AS date 初始化开始日期。
- DATE_ADD(date, INTERVAL 1 DAY) 递归生成每天的日期。
- WHERE date < ‘2024-07-25’ 确保生成的日期范围直到指定的结束日期。
- 检查递归 CTE: 确保 DateRange CTE 生成的日期是连续的。如果生成的日期不连续,可能是由于递归生成日期的逻辑错误或 CTE 的限制。