Mysql
 sql >> Database >  >> RDS >> Mysql

Mysql Genera ogni data dall'elenco dell'intervallo di date

Puoi convertire i numeri di data in giorno usando from_days() e quindi fare inner join con la tabella di conteggio (con numeri sequenziali da 1) Il numero 730485 è '2000-01-01' offset (seleziona da_days('2000-01-01'))

select a.* , from_days(t.tallyid+730485) from 
(
    select 'a' code , '2016-04-19' date1,  '2016-04-21' date2
    union all
    select 'b'code , '2016-04-13' date1,  '2016-04-14' date2
) a
inner join Tally t on t.tallyid between (TO_DAYS(a.date1)-730485) and (TO_DAYS(a.date2)-730485)