Изглежда, че искате нещо подобно
SQL> ed
Wrote file afiedt.buf
1 select to_char( add_months(trunc(sysdate,'MM'),-1) + level - 1,
2 'YYYYMMDD' )
3 from dual
4 connect by level <=
5 last_day(add_months(trunc(sysdate,'MM'),-1)) -
6 add_months(trunc(sysdate,'MM'),-1) +
7* 1
SQL> /
TO_CHAR(
--------
20101201
20101202
20101203
20101204
20101205
20101206
20101207
20101208
20101209
20101210
20101211
20101212
20101213
20101214
20101215
20101216
20101217
20101218
20101219
20101220
20101221
20101222
20101223
20101224
20101225
20101226
20101227
20101228
20101229
20101230
20101231
31 rows selected.