有表:
日期           
2000/6/2       
2000/6/3        
2000/6/6        要求select后得出如下表:
日期           
2000/6/2       
2000/6/3        
2000/6/4        
2000/6/5
2000/6/6

解决方案 »

  1.   

    http://blog.csdn.net/zhpsam109/archive/2004/09/07/97376.aspx
      

  2.   

    try:
    select mindate+rownum-1 from all_source,
    (select min(datecol) mindate,max(datecol) maxdate from tbname) t
    where rownum<=(t.maxdate-t.mindate);
      

  3.   

    select to_date('20030602','yyyymmdd')+rownum-1 
    from all_objects 
    where rownum<=to_date('20030606','yyyymmdd')+1-to_date('20030602','yyyymmdd');
      

  4.   

    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;