新建最近几十年的天
CREATE TABLE if not exists calendar(account_day date);
INSERT INTO calendar(account_day)
SELECT DATE_ADD('2024-01-01', INTERVAL n DAY)
FROM (
SELECT a.N + b.N * 10 + c.N * 100 + d.N * 1000 AS n
FROM (SELECT 0 AS N 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) a,
(SELECT 0 AS N 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) b,
(SELECT 0 AS N 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) c,
(SELECT 0 AS N 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) d
) AS numbers
WHERE DATE_ADD('2024-01-01', INTERVAL n DAY) <= '2049-12-31';
标签:01,新建,日历表,UNION,Mysql,DATE,calendar,SELECT From: https://www.cnblogs.com/eason-d/p/18200263