try: select mindate+rownum-1 from all_source, (select min(datecol) mindate,max(datecol) maxdate from tbname) t where rownum<=(t.maxdate-t.mindate);
select to_date('20030602','yyyymmdd')+rownum-1 from all_objects where rownum<=to_date('20030606','yyyymmdd')+1-to_date('20030602','yyyymmdd');
SELECT TO_CHAR(mindate+ROWNUM-1,'yyyy/mm/dd') FROM all_source, (SELECT TO_DATE('20040101','yyyymmdd') mindate,TO_DATE('20040106','yyyymmdd') maxdate FROM dual) t WHERE ROWNUM<=(t.maxdate-t.mindate)+1;====================================================================================== SQL> SELECT TO_CHAR(mindate+ROWNUM-1,'yyyy/mm/dd') FROM all_source, 2 (SELECT TO_DATE('20040101','yyyymmdd') mindate,TO_DATE('20040106','yyyymmdd ') maxdate FROM dual) t 3 WHERE ROWNUM<=(t.maxdate-t.mindate)+1;TO_CHAR(MI ---------- 2004/01/01 2004/01/02 2004/01/03 2004/01/04 2004/01/05 2004/01/06已选择6行。 ================================================================= 在你的表中用下面的语句应该是可以的 SELECT TO_CHAR(mindate+ROWNUM-1,'yyyy/mm/dd') FROM all_source, (SELECT min(datecol) mindate, max(datecol) maxdate FROM table_name) t WHERE ROWNUM<=(t.maxdate-t.mindate)+1;
select mindate+rownum-1 from all_source,
(select min(datecol) mindate,max(datecol) maxdate from tbname) t
where rownum<=(t.maxdate-t.mindate);
from all_objects
where rownum<=to_date('20030606','yyyymmdd')+1-to_date('20030602','yyyymmdd');
(SELECT TO_DATE('20040101','yyyymmdd') mindate,TO_DATE('20040106','yyyymmdd') maxdate FROM dual) t
WHERE ROWNUM<=(t.maxdate-t.mindate)+1;======================================================================================
SQL> SELECT TO_CHAR(mindate+ROWNUM-1,'yyyy/mm/dd') FROM all_source,
2 (SELECT TO_DATE('20040101','yyyymmdd') mindate,TO_DATE('20040106','yyyymmdd
') maxdate FROM dual) t
3 WHERE ROWNUM<=(t.maxdate-t.mindate)+1;TO_CHAR(MI
----------
2004/01/01
2004/01/02
2004/01/03
2004/01/04
2004/01/05
2004/01/06已选择6行。
=================================================================
在你的表中用下面的语句应该是可以的
SELECT TO_CHAR(mindate+ROWNUM-1,'yyyy/mm/dd') FROM all_source,
(SELECT min(datecol) mindate, max(datecol) maxdate FROM table_name) t
WHERE ROWNUM<=(t.maxdate-t.mindate)+1;