Как найти разницу между двумя датами в Oracle - PullRequest
0 голосов
/ 12 ноября 2018

Как рассчитать разницу между двумя датами и получить ответ в часах? Формат даты и времени: ММ / ДД / ГГГГ ЧЧ: ММ: СС

1 Ответ

0 голосов
/ 12 ноября 2018

Когда вы вычитаете два значения DATE, результатом является количество дней. Поэтому, чтобы получить количество часов, вы должны умножить результат на 24 (поскольку в дне 24 часа).

Например:

SQL> select to_date('12.11.2018 10:00:00', 'dd.mm.yyyy hh24:mi:ss')
  2       - to_date('12.11.2018 08:00:00', 'dd.mm.yyyy hh24:mi:ss') number_of_days
  3  from dual;

NUMBER_OF_DAYS
--------------
    ,083333333

SQL> select (  to_date('12.11.2018 10:00:00', 'dd.mm.yyyy hh24:mi:ss')
  2          - to_date('12.11.2018 08:00:00', 'dd.mm.yyyy hh24:mi:ss')
  3         ) * 24 number_of_hours
  4  from dual;

NUMBER_OF_HOURS
---------------
              2

Кстати, отправленная вами маска формата неверна; это не ЧЧ: ММ : СС, а ЧЧ: МИ: СС; ММ - месяцы, МИ - минуты.

...