Промежуток времени между двумя датами(в поля DATE записана и дата и время)

Relaxxx
Дата: 15.09.2004 22:04:32
В поле DATE_PRIHOD(тип DATE) записано время и дата прихода человека, в поле DATE_UHOD(тип DATE) время и дата ухода человека. А вот как мне узнать сколько времени прошло между DATE_PRIHOD и DATE_UHOD??? У меня версия Оракл 8.0.5, поэтому тип INTERVAL использовать немогу ((
Elic
Дата: 15.09.2004 22:10:29
(DATE_UHOD-DATE_PRIHOD) дней,
(DATE_UHOD-DATE_PRIHOD)*24 часов,
(DATE_UHOD-DATE_PRIHOD)*24*60 минут,
(DATE_UHOD-DATE_PRIHOD)*24*60*60 секунд.
Принцип понятен? :)
Vadim_Maximov
Дата: 16.09.2004 09:26:52
Никогда не забуду, как один товарищ у меня в отделе на старой работе долго сидел, писал, писал и написал-таки функцию (строк на триста!)
AddSeconds(pDate IN DATE, pSeconds IN NUMBER) RETURN DATE
, которая к дате прибавляет секунды.....как же долго мы все смеялись, когда я похерил его труды и одной строкой RETURN pDate + 1 / (24*60 * 60) добился того же результата...
_Nikotin_
Дата: 17.09.2004 10:23:53
А что если просто написать end_date-trunc(start_date) или
to_date(start_date,'DD.MM.YYYY').....
Elic
Дата: 17.09.2004 10:38:04
_Nikotin_
А что если просто написать end_date-trunc(start_date) или
to_date(start_date,'DD.MM.YYYY').....
Написать-то можно что угодно, только сперва надо подумать, что в получится в результате использования таких бредовых выражений
_Nikotin_
Дата: 17.09.2004 10:42:54
Если ты не знаешь, оператор Trunc(some_date) отсекает время от даты...
Elic
Дата: 17.09.2004 10:59:17
_Nikotin_
Trunc(some_date) отсекает время от даты...
Это хорошие энциклопедические знания. Только вот ответу на вопрос "сколько времени" (заметь, не дней, а часов, минут, секунд) они только вредят.
_Nikotin_
Дата: 17.09.2004 11:07:15
Как известно время у нас измеряется не только в минутах, секундах....
В каком виде нужно получить результат?
Elic
Дата: 17.09.2004 11:16:59
_Nikotin_
Как известно время у нас измеряется не только в минутах, секундах....
Почитай эту тему ещё раз с самого начала
_Nikotin_
Дата: 17.09.2004 11:17:51
select 
 trunc(sysdate-to_Date('15.09.2004')) dd,
 trunc((sysdate-to_Date('15.09.2004')-trunc(sysdate-to_Date('15.09.2004')))*24) hh
 ... mi,
 ... ss,
 ... ms
from dual