Форум: "Базы";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
Внизпреобразования типов Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.039 c