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)