sql >> Base de Datos >  >> RDS >> Mysql

Mysql Genera cada fecha de la lista de rango de fechas

Puede convertir números de fecha a día usando from_days () y luego hacer una unión interna con la tabla de conteo (con números secuenciales desde 1) El número 730485 es el desplazamiento '2000-01-01' (seleccione 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)