close
感謝同事提供這個SQL:
select to_date('20030601', 'yyyymmdd') + rownum - 1 as dt
from all_objects
where to_date('20030601', 'yyyymmdd') + rownum - 1 <= to_date('20030831', 'yyyymmdd')
如此會產出從20030601, 20030602, 20030603…, 20030830, 20030831的日期值,這是Oracle上的方法。
後來發覺使用all_objects效能太差,又找到另一個方法:
select to_date('20090518','yyyymmdd')-1 + level as dt
from dual
where (to_date('20090518','yyyymmdd')-1+level) <= last_day(to_date('20090525','yyyymmdd'))
connect by level<=to_date('20090525','yyyymmdd')-to_date('20090518','yyyymmdd')
全站熱搜