几种生成日期表的方法
如何用SQL语句生成日期表呢?
如何用MySQL语句生成日期表呢?
如何用DAX语句生成日期表呢?
1. MySQL生成日期表
1.1 日期格式:yyyy-MM-dd 字符型 2024-01-02
-- 生成日期表
WITH RECURSIVE temp_dateTable AS (
SELECT '2023-01-01' AS datekey
UNION ALL
SELECT DATE_ADD(datekey, INTERVAL 1 DAY)
FROM temp_dateTable
WHERE datekey < '2023-12-31'
)
SELECT datekey FROM temp_dateTable
;
/*
datekey
2023-01-01
2023-01-02
2023-01-03
2023-01-04
*/
1.2 日期格式:yyyyMMdd 数字型 20240102
-- 生成日期表
WITH RECURSIVE temp_dateTable AS (
SELECT 20240101 AS datekey
UNION ALL
SELECT date_format(date_add(CONVERT(datekey, CHAR),interval 1 day), "%Y%m%d")+0
FROM temp_dateTable
WHERE datekey < 20240117
)
select
dt.datekey
from temp_dateTable dt
;