Anda dapat mengurangi tanggal di Oracle. Ini akan memberi Anda perbedaan dalam beberapa hari. Kalikan dengan 24 untuk mendapatkan jam, dan seterusnya.
SQL> select oldest - creation from my_table;
Jika tanggal Anda disimpan sebagai data karakter, Anda harus mengubahnya menjadi tipe tanggal terlebih dahulu.
SQL> select 24 * (to_date('2009-07-07 22:00', 'YYYY-MM-DD hh24:mi')
- to_date('2009-07-07 19:30', 'YYYY-MM-DD hh24:mi')) diff_hours
from dual;
DIFF_HOURS
----------
2.5
Catatan :
Jawaban ini berlaku untuk tanggal yang diwakili oleh tipe data Oracle DATE
.Oracle juga memiliki tipe data TIMESTAMP
, yang juga dapat mewakili tanggal (dengan waktu). Jika Anda mengurangi TIMESTAMP
nilai, Anda mendapatkan INTERVAL
; untuk mengekstrak nilai numerik, gunakan EXTRACT
fungsi.