Oracle манипулирование датой - PullRequest
0 голосов
/ 07 июня 2018

У меня есть эта строка в коде:

SELECT (SYSDATE - MAX (STARTED)) * 3600 * 24 

Дата начала: 7.6.2018 14: 39: 51

Что означает *3600* 24 ???

Спасибо

1 Ответ

0 голосов
/ 07 июня 2018

Разница между датами указывается в количестве дней.

Количество дней * 24 * 60 * 60 дает количество секунд.

Например:

select diff days,
       diff*24 hours,
       diff*24*60 minutes,
       diff*24*60*60 seconds
from ( select date '2018-06-07' - date '2018-06-06' diff from dual)

дает

      DAYS      HOURS    MINUTES    SECONDS
---------- ---------- ---------- ----------
         1         24       1440      86400

А это

select diff days,
       diff*24 hours,
       diff*24*60 minutes,
       diff*24*60*60 seconds
from ( select to_date('2018-06-07 15:30:45', 'yyyy-mm-dd hh24:mi:ss')
            - to_date('2018-06-07 14:00:00', 'yyyy-mm-dd hh24:mi:ss') diff from dual)

дает

      DAYS      HOURS    MINUTES    SECONDS
---------- ---------- ---------- ----------
.063020833     1.5125      90.75       5445
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...