SQL перечисление по датам

select trunc(sysdate-10-1+level) daten from dual
connect by level <= (sysdate-(sysdate-10));

28.09.2012
29.09.2012
30.09.2012
01.10.2012
02.10.2012
03.10.2012
04.10.2012
05.10.2012
06.10.2012
07.10.2012

Список дней месяца

select to_date('01.2013', 'mm.yyyy')+level-1 dDATE from dual
connect by level <= extract(day from add_months(to_date('01.01.2013', 'dd.mm.yyyy'), 1) -1);

Количество дней

select
extract(day from add_months(to_date('01.02.2013', 'dd.mm.yyyy'), 1) -1)
from dual;