問題:查出在2001年5年到2004年1月的所有年月格式為yyyymm(其實也是別人問到我這樣一個相關的問題)
select to_char(to_date('200105','yyyymm'),'yyyy')+ b.bb||'00'+a.aa ff
from
(select level aa from dual connect by 1=1 and level <13 ) a,
(select level-1 bb from dual connect by 1=1 and level <=
(to_char(to_date('200402','yyyymm'),'yyyy') - to_char(to_date('200105','yyyymm'),'yyyy')+1) ) b
where to_char(to_date('200105','yyyymm'),'yyyy')+ b.bb||'00'+a.aa >='200105'
and to_char(to_date('200105','yyyymm'),'yyyy')+ b.bb||'00'+a.aa <='200402'

不用其它表,就可以構造出一個時間表來,注意:connect by據說只支持oracle 9i 及以上