问题:查出在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 及以上