Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mysql Gerar cada data da lista de intervalo de datas


Você pode converter data em números de dia usando from_days() e, em seguida, fazer a junção interna com a tabela de contagem (com números sequenciais de 1)O número 730485 é '2000-01-01' offset (select from_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)