Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1092362642
Марат
2004-08-13 06:04
2004.08.29
Изменение StringGrid


14-1092287200
syte_ser78
2004-08-12 09:06
2004.08.29
writeln в кодировку win


1-1092298372
LKan
2004-08-12 12:12
2004.08.29
непонятное расширение abs


3-1091559812
U96
2004-08-03 23:03
2004.08.29
Вопрос по DBGrid


4-1090178018
Петр
2004-07-18 23:13
2004.08.29
Hello world Используя ReadFile при отключенном девайсе от порта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский