これにはコレクションを使用できます。
SQL> create type mydatetab as table of date;
2 /
Type created.
SQL> with dates as (select /*+ cardinality(t, 5) */ t.column_value thedate
2 from table(mydatetab(TO_DATE('16-FEB-13', 'dd-mon-rr'),
3 TO_DATE('13-FEB-13', 'dd-mon-rr'))) t)
4 select DATE_VALID_FROM, DATE_VALID_TO, VALUE
5 from MY_TABLE, dates
6 where dates.thedate between DATE_VALID_FROM and DATE_VALID_TO;
DATE_VALI DATE_VALI VALUE
--------- --------- ----------
13-FEB-13 13-FEB-13 1.824
15-FEB-13 17-FEB-13 1.833
作成する権限がない場合(つまり、これは単なるアドホックなものです)。あなたが使用できるいくつかの公開のものがあるかもしれません。これらを確認select * from all_coll_types where elem_type_name = 'DATE'
してください。
ps日付を使用するときは、常に形式を指定する必要があります。すなわちしないでください:
TO_DATE('16-FEB-13')
むしろ:
TO_DATE('16-FEB-13', 'dd-MON-rr')