mysql给定两个时间段 获取两个时间段的所有日期
sql 第一种写法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) vWHERE selected_date BETWEEN '-01-10' AND '-01-30'ORDER BY selected_date DESC;
mysql 第二种写法
SELECT DATE_FORMAT( DATE_ADD(CONCAT('-01-01'), INTERVAL(help_topic_id) DAY),'%Y-%m-%d') DT FROM mysql.help_topicWHERE help_topic_id <= TIMESTAMPDIFF(DAY,CONCAT('-01-01'),CONCAT('-12-01'))ORDER BY DT DESC;