1

2つの変数STARTDATEとENDDATEからの月ごとの増分で構成されるエントリのリストを何らかの方法で生成するselectクエリを使用できるようにする必要があります。例は次のようになります。

テーブルからSTARTDATEとENDDATEを取得する

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

結果として

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 

これを行う方法について何かアイデアはありますか?「CONNECTBY」という方法について誰かが教えてくれましたが、うるう年などでは機能しません。

ありがとう。

4

1 に答える 1

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.
于 2012-05-08T05:50:17.063 に答える