SELECT rownum id, TO_DATE('2009-07-01','YYYY-MM-DD')-1 + ROWNUM AS SERIESDATE FROM DUAL CONNECT BY rownum <=TO_DATE('2009-07-04','YYYY-MM-DD')-TO_DATE('2009-07-01','YYYY-MM-DD')+1
不知道为什么把all_objects这个视图表引进来?我提供一个select to_date('2009-07-01', 'yyyy-mm-dd') + (rownum -1) "date" from dual connect by to_date('2009-07-01', 'yyyy-mm-dd') + (rownum -1) <= to_date('2009-07-05', 'yyyy-mm-dd');
select to_date('2009-07-01', 'yyyy-mm-dd') - 1 + rownum dt
from all_objects
where rownum <= to_date('2009-07-05', 'yyyy-mm-dd')
- to_date('2009-07-01', 'yyyy-mm-dd')
+ 1;
http://topic.csdn.net/u/20090727/18/3b0e737c-da54-4cfa-9b44-1b6115cd3290.html
TO_DATE('2009-07-01','YYYY-MM-DD')-1 + ROWNUM AS SERIESDATE FROM DUAL
CONNECT BY rownum <=TO_DATE('2009-07-04','YYYY-MM-DD')-TO_DATE('2009-07-01','YYYY-MM-DD')+1
inthirties 的赞一个
select to_date('2009-07-01', 'yyyy-mm-dd') + (rownum -1) "date" from dual connect by to_date('2009-07-01', 'yyyy-mm-dd') + (rownum -1) <= to_date('2009-07-05', 'yyyy-mm-dd');
后只显示了1条记录
date
2009-7-1
shiyiwan 说得对,
select to_date('2009-07-01', 'yyyy-mm-dd') - 1 + rownum dt
from all_objects
where rownum <= to_date('2009-07-05', 'yyyy-mm-dd')
- to_date('2009-07-01', 'yyyy-mm-dd')
+ 1;
才正确
又必要这个功能把all_objects这个表引入进来做查询么。这不是个好的方案,用connect by的方式,在10g上可以可以出现结果的,不过把2009-7-5也选出来叻所以需要修改一下
connect by to_date('2009-07-01', 'yyyy-mm-dd') + (rownum -1) < to_date('2009-07-05', 'yyyy-mm-dd');
把 <= 改成 <现在没有9i的环境,回去我在9i上试试。不过9i应该支持叻connect by,怎么会只有一条记录叻。