Query cara menampilkan semua tanggal yang ada di antara dua tanggal (tanggal awal dan tanggal akhir).
Contoh : table KEGIATAN
id | tgl_mulai | tgl_selesai |
1 | 18-AUG-15 | 20-AUG-14 |
2 | 23-FEB-15 | 23-FEB-15 |
Hasil yang akan ditampilkan
id | tgl |
1 | 18-AUG-15 |
1 | 19-AUG-15 |
1 | 20-AUG-15 |
2 | 23-FEB-15 |
Query untuk menampilkan datanya:
select A.ID, A.tgl_mulai + delta tgl
from KEGIATAN A,
( select level-1 as delta from dual connect by level-1 <= ( select max(tgl_selesai – tgl_mulai) from KEGIATAN) )
where A.tgl_mulai + delta <= A.tgl_selesai order by 1, 2;