Не знаю как преобразовать тип
-
- Сообщения: 5
- Зарегистрирован: 19 апр 2005, 14:25
Не знаю как преобразовать тип
Всем привет! Подскажите плз новичку в FireBird как подбить сумму по полю типа TimeStamp. В TSQL нужное мне выглядит так:
select Sum(cast(Duration as float)) from ...
где Duration типа DateTime.
select Sum(cast(Duration as float)) from ...
где Duration типа DateTime.
-
- Сообщения: 5
- Зарегистрирован: 19 апр 2005, 14:25
datetime не может храниться в float. или float в tsql это на самом деле double precision. Кроме того, такой агрегат должен переполниться при сколь-нибудь разумном числе записей. Достоверность проще проверить через select count и визуальным сравнением хотя бы части данных. Правда, я не совсем понимаю, что значит "достоверность перенесения"...
-
- Сообщения: 5
- Зарегистрирован: 19 апр 2005, 14:25
Код: Выделить всё
1 6
3 2
7 2
4 5
___________SUM
15 15
-
- Сообщения: 5
- Зарегистрирован: 19 апр 2005, 14:25
Да божа ж мой, возьми свои грабли:
Select Sum(YourDate-'21.09.1954') From YourTable
в третьем диалекте, возможно, ещё можно, если тебя интересует именно время, повычитать из таймштампа его же cast as date, но не уверен, живу на первом. А насчёт вероятности совпадения сумм на длинных рядах - это тебя тоже не доучили, как и насчёт CRC.
Select Sum(YourDate-'21.09.1954') From YourTable
в третьем диалекте, возможно, ещё можно, если тебя интересует именно время, повычитать из таймштампа его же cast as date, но не уверен, живу на первом. А насчёт вероятности совпадения сумм на длинных рядах - это тебя тоже не доучили, как и насчёт CRC.
-
- Сообщения: 5
- Зарегистрирован: 19 апр 2005, 14:25