Vous pouvez convertir les nombres de date en jour à l'aide de from_days(), puis effectuer une jointure interne avec la table de pointage (avec des nombres séquentiels à partir de 1) Le numéro 730485 est le décalage '2000-01-01' (sélectionnez 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)