Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как найти разницу между двумя временами [D7, MySQL]


ol ©   (2004-09-22 10:58:00) 

Есть два поля типа datetime, в кторых хранится дата с временем
Подскажите как для Oracle 8.1.7 найти между ними разницу в часах и минутах?


ol   (2004-09-22 13:26:00) [1]

2 Sergey13 ©

чесно говоря и не знаю с какой стороны к PL/SQL подходить, нельзя ли коротенький примерчик


Sergey13   (2004-09-22 12:35:00) [2]

А почему для этого самому не написать простенькую функцию на PL/SQL? Покороче будет.


ol   (2004-09-22 12:27:00) [3]

to Reindeer Moss Eater

:-) ну не знаю прога уже три года работает и дата с временем хранится в одном поле

тип то хоть и называется date но хранить там можна дату + время


Reindeer Moss Eater   (2004-09-22 12:23:00) [4]

Начнем с того, что в Оракле нет типа "datetime".


ol   (2004-09-22 12:23:00) [5]

(decode(substr(((to_char(dat_tara,'hh24')*60+to_char(dat_tara,'mi')) -(to_char(dat_brutto,'hh24')*60+to_char(dat_brutto,'mi')))/60,1,1),',',0,substr(((to_char(dat_tara,'hh24')*60+to_char(da t_tara,'mi')) -(to_char(dat_brutto,'hh24')*60+to_char(dat_brutto,'mi')))/60,1,1))) ||'-'||(
substr(0|| to_char(  ((to_char(dat_tara,'hh24')*60+to_char(dat_tara,'mi')) -(to_char(dat_brutto,'hh24')*60+to_char(dat_brutto,'mi'))) - decode(substr(((to_char(dat_tara,'hh24')*60+to_char(dat_tara,'mi')) -(to_char(dat_brutto,'hh24')*60+to_char(dat_brutto,'mi')))/60,1,1),',',0,substr(((to_char(dat_tara,'hh24')*60+to_char(da t_tara,'mi')) -(to_char(dat_brutto,'hh24')*60+to_char(dat_brutto,'mi')))/60,1,1))*60),-2,2)) as razn


Sergey13   (2004-09-22 12:15:00) [6]

2[2] ol   (22.09.04 11:15)
>так вот на это у меня уходит полстраницы кода, и работает не во всех случаях коректно
Если можно напости сюда эти полстраницы.


stud   (2004-09-22 12:06:00) [7]

delta=cast('00:00:00' as time)+(cast(time1 as time) - cast(time2 as time)); это для интербейс, если надо чего - переделаеш


clickmaker   (2004-09-22 12:03:00) [8]

что-то типа datediff()


ol   (2004-09-22 11:46:00) [9]

обшибся, интересует именно оракл


Nikolay M.   (2004-09-22 11:36:00) [10]

А при чем тут Оракл, если в топике указан MySQL?


ol   (2004-09-22 11:15:00) [11]

эт я и сам умею :-)
мне нужно чтоб был удобочитаемый вариант типа 00:00, так вот на это у меня уходит полстраницы кода, и работает не во всех случаях коректно

Нет ли функции самого оракла для получения разницы во времени, просто слышал что в девятом оракле что-то похожее есть


Sergey13   (2004-09-22 11:10:00) [12]

select pole1-pole2 from table - в сутках. Умножай на 24 будут часы. Еще на 60 - минуты.


Наверх

Титульная страница Поиск, карта сайта Написать письмо