如何从MySQL中的日期范围生成日期?
可以在以下使用adddate()
函数的查询的帮助下完成,我们正在生成'2016-12-15'和'2016-12-31'之间的日期-
mysql> select * from -> (select adddate('1970-01-01',t4*10000 + t3*1000 + t2*100 + t1*10 + t0) gen_date from -> (select 0 t0 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 t1 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 t2 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 t3 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 t4 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 gen_date between '2016-12-15' and '2016-12-31' -> ; +------------+ | gen_date | +------------+ | 2016-12-15 | | 2016-12-16 | | 2016-12-17 | | 2016-12-18 | | 2016-12-19 | | 2016-12-20 | | 2016-12-21 | | 2016-12-22 | | 2016-12-23 | | 2016-12-24 | | 2016-12-25 | | 2016-12-26 | | 2016-12-27 | | 2016-12-28 | | 2016-12-29 | | 2016-12-30 | | 2016-12-31 | +------------+ 17 rows in set (0.30 sec)