select*from ->(selectadddate('1970-01- 01',t4*10000+t3*1000+t2*100+t1*10+t0)gen_datefrom ->(select0t0unionselect1unionsel"/> select*from ->(selectadddate('1970-01- 01',t4*10000+t3*1000+t2*100+t1*10+t0)gen_datefrom ->(select0t0unionselect1unionsel">
Home >Database >Mysql Tutorial >How to generate days from date range in MySQL?
This can be done with the help of the following query using adddate() function, we generate the number of days between "2016-12-15" and "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)
The above is the detailed content of How to generate days from date range in MySQL?. For more information, please follow other related articles on the PHP Chinese website!