A máscara de formato em
to_date()
deve ser colocado entre aspas simples também. Para produzir a saída em formato de string, você precisa aplicar
to_char()
com a mesma máscara de formato. select to_char(to_date('20160101', 'YYYYMMDD') + level - 1, 'YYYYMMDD') as dt
from dual
connect by level <= 1 + to_date('20160104', 'YYYYMMDD') - to_date('20160101', 'YYYYMMDD')
;
DT
--------
20160101
20160102
20160103
20160104