Задать вопрос
@Borton1

Как вывести день,час, минуты?

Добрый день! подскажите,пожалуйста, как из двух полей типа date ( пример 03.10.2004 17:03:28), чтобы выводилась разница как: дней, часов,минут...
  • Вопрос задан
  • 140 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Если одну дату вычесть из другой даты, то получите количество дней в виде вещественного числа.
Добавив немного математики вычисления остатков, получите все компоненты разницы дат:
select trunc(sysdate - to_date('03.10.2004 17:03:28', 'DD.MM.YYYY HH24:MI:SS')) days,
   mod(trunc((sysdate - to_date('03.10.2004 17:03:28', 'DD.MM.YYYY HH24:MI:SS')) * 24), 24)  hours,
   mod(trunc((sysdate - to_date('03.10.2004 17:03:28', 'DD.MM.YYYY HH24:MI:SS')) * 24 * 60), 60) minutes,
   mod(trunc((sysdate - to_date('03.10.2004 17:03:28', 'DD.MM.YYYY HH24:MI:SS')) * 24 * 60 * 60), 60) seconds
from dual

Вариант 2:
select extract(day from (sysdate - to_timestamp('03.10.2004 17:03:28', 'DD.MM.YYYY HH24:MI:SS'))) days,
       extract(hour from (sysdate - to_timestamp('03.10.2004 17:03:28', 'DD.MM.YYYY HH24:MI:SS'))) hours,
       extract(minute from (sysdate - to_timestamp('03.10.2004 17:03:28', 'DD.MM.YYYY HH24:MI:SS'))) minutes,
       extract(second from (sysdate - to_timestamp('03.10.2004 17:03:28', 'DD.MM.YYYY HH24:MI:SS'))) seconds
from dual
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы