2012-05-08 13 views
1

2つの変数STARTDATEおよびENDDATEからの月次増分で構成されるエントリのリストを何らかの形で生成する選択クエリを使用できるようにする必要があります。例は次のようになります。毎月の増分エントリのテーブルを作成する選択クエリ

CALENDAR 
--------- 
01-JAN-11 
01-FEB-11 
01-MAR-11 
01-APR-11 
01-MAY-11 
01-JUN-11 
01-JUL-11 
01-AUG-11 
01-SEP-11 
01-OCT-11 
01-NOV-11 
01-DEC-11 

にこれを行う方法上の任意のアイデアを結果テーブル

STARTDATE ENDDATE 
----------- ----------- 
01-JAN-2011 1-DEC-2011 

からSTARTDATEおよびENDDATEを取得しますか?誰かが私に "CONNECT BY"というメソッドについて教えてくれましたが、うるう年などでは機能しません。

ありがとうございました。

答えて

3
このような

何か作業をする必要があり

SQL> ed 
Wrote file afiedt.buf 

    1 with x as (
    2 select date '2011-01-01' start_date, 
    3   date '2011-12-01' end_date 
    4  from dual 
    5 ) 
    6 select add_months(start_date, level-1) 
    7 from x 
    8* connect by level <= months_between(end_date, start_date) + 1 
SQL>/

ADD_MONTH 
--------- 
01-JAN-11 
01-FEB-11 
01-MAR-11 
01-APR-11 
01-MAY-11 
01-JUN-11 
01-JUL-11 
01-AUG-11 
01-SEP-11 
01-OCT-11 
01-NOV-11 
01-DEC-11 

12 rows selected. 
関連する問題