Можете да извадите датите в Oracle. Това ще ви даде разликата в дните. Умножете по 24, за да получите часове и т.н.
SQL> select oldest - creation from my_table;
Ако вашата дата се съхранява като символни данни, първо трябва да я преобразувате в тип дата.
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
Забележка :
Този отговор се отнася за дати, представени от типа данни на Oracle DATE
.Oracle също има тип данни TIMESTAMP
, което също може да представлява дата (с време). Ако извадите TIMESTAMP
стойности, получавате INTERVAL
; за да извлечете числови стойности, използвайте EXTRACT
функция.