mysql给定两个时间段 获取两个时间段的所有日期

mysql给定两个时间段 获取两个时间段的所有日期

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) 
 v
WHERE selected_date BETWEEN '2021-01-10' AND '2022-01-30'

ORDER BY selected_date DESC;

mysql 第二种写法

SELECT DATE_FORMAT( DATE_ADD(CONCAT('2020-01-01'), INTERVAL(help_topic_id) DAY),'%Y-%m-%d') DT 
FROM mysql.help_topic
WHERE help_topic_id  <=  TIMESTAMPDIFF(DAY,CONCAT('2020-01-01'),CONCAT('2021-12-01'))
ORDER BY DT DESC;

版权声明:本文为qq_43419105原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。