Data můžete odečíst v Oracle. Tím získáte rozdíl ve dnech. Vynásobením 24 získáte hodiny a tak dále.
SQL> select oldest - creation from my_table;
Pokud je vaše datum uloženo jako znaková data, musíte je nejprve převést na typ data.
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
Poznámka :
Tato odpověď platí pro data reprezentovaná datovým typem Oracle DATE
.Oracle má také datový typ TIMESTAMP
, který může také představovat datum (s časem). Pokud odečtete TIMESTAMP
hodnoty, získáte INTERVAL
; pro extrakci číselných hodnot použijte EXTRACT
funkce.