Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

преобразования типов   Найти похожие ветки 

 
stud   (2004-08-04 16:46) [0]

господа как в фб 1,5 получить разницу во времени между двумя временными значениями.
вычитать напрямую не получается при использовании cast тоже ерунда.


 
Соловьев ©   (2004-08-04 16:48) [1]


> вычитать напрямую не получается

как делаешь?


 
stud   (2004-08-04 16:50) [2]

cast (time1-time2 as time)
cast (time1 as time)-cast(time2 as time)


 
Соловьев ©   (2004-08-04 17:07) [3]


> cast (time1-time2 as time)
> cast (time1 as time)-cast(time2 as time)

time1, time2 - какого типа?


 
stud   (2004-08-04 17:13) [4]

time
напрямую tim1-tim2=7200.000


 
Johnmen ©   (2004-08-04 17:14) [5]

Время и временные интервалы суть разные вещи.
Разница между вр.значениями есть вр-ой интервал.
Для дат - это сутки, для времени - секунды, для timestamp - типа TDateTime


 
Соловьев ©   (2004-08-04 17:15) [6]


> time

а надо date или timestamp - так как разность этих типов даст разность в днях , а ее уже можно привести к времени. А в твоем случае не понятно что получается...Если это один и тот же день, тогда extract тебе поможет а если разные даты, то фигня получится...


 
stud   (2004-08-04 17:18) [7]

ясно. сечас попробую


 
stud   (2004-08-04 17:24) [8]

cast(cast(T_UHOD as timestamp) - cast(T_PRIHOD as timestamp) as time)
такая конструкция тоже не проходит


 
stud   (2004-08-04 17:25) [9]

и не должно.
может кто подскажет как это реализовать?


 
Johnmen ©   (2004-08-04 17:27) [10]

>stud

И никогда не пройдет, т.к. преобразование вр.интервалов во времена НЕДОПУСТИМО, ибо несовместимые типы.


 
Соловьев ©   (2004-08-04 17:28) [11]


> cast(cast(T_UHOD as timestamp) - cast(T_PRIHOD as timestamp)
> as time)

понятно не должно тип поля должен быть дата или таймстамп!!!


 
Johnmen ©   (2004-08-04 17:30) [12]

>stud   (04.08.04 17:25) [9]

cast("00:00:00" as time)+
(cast(T_UHOD as timestamp) - cast(T_PRIHOD as timestamp))


 
Соловьев ©   (2004-08-04 17:33) [13]


> (cast(T_UHOD as timestamp) - cast(T_PRIHOD as timestamp))

если поле Time там хранится только время, то приведение к дате+время ничего не даст - так как одно время могло принадлежать сегодня а другое 10 числу прошлого месяца. Разноть даст непонятно что...


 
stud   (2004-08-04 17:35) [14]

нет. время принадлежит только одному дню


 
Соловьев ©   (2004-08-04 17:37) [15]


> нет. время принадлежит только одному дню

ну так ectract юзай


 
stud   (2004-08-04 17:38) [16]

там нету time, пытался вытаскивать часы и минуты отдельно и склеивать в строку ругается на втором экстракте


 
stud   (2004-08-04 17:42) [17]


> cast("00:00:00" as time)+
> (cast(T_UHOD as timestamp) - cast(T_PRIHOD as timestamp))

эта штука на выходе дает 00:00:00


 
Johnmen ©   (2004-08-04 17:44) [18]

Поправка
cast("00:00:00" as time)+
(cast(T_UHOD as time) - cast(T_PRIHOD as time))


 
dtm ©   (2004-08-04 17:44) [19]

А если оба поля кастовать как DOUBLE PRECISION, отнимать один от другого, а затем уже обратно кастовать как TIMESTAMP?


 
stud   (2004-08-04 17:47) [20]

сделал так:
t_delta=cast ((cast(T_UHOD as timestamp) - cast(T_PRIHOD as timestamp)) as timestamp);
delta=cast(t_delta as time); - переполнение при преобразовании  .... 0,0088333...
t_delta - timestamp


 
stud   (2004-08-04 17:49) [21]


> Johnmen ©   (04.08.04 17:44) [18]
> Поправка

ура заработало!



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.045 c
14-1092207521
Григорьев Антон
2004-08-11 10:58
2004.08.29
Клавиатура для настоящих патриотов :))


4-1090156748
banderas
2004-07-18 17:19
2004.08.29
Как скопировать свой собственный exe


10-1033103025
KA_
2002-09-27 09:03
2004.08.29
CORBA-сервер "жрет" память


1-1092636340
Arhitektor
2004-08-16 10:05
2004.08.29
Каким образом можно получить доступ к файлу?


14-1091806784
olookin
2004-08-06 19:39
2004.08.29
Ночь с пятницы на субботу (в пику "Пятничным задачам")...