ХП DateTime(float) в TimeStamp
ХП DateTime(float) в TimeStamp
Перерыл много чего, потерял время но так и не откапал... Как можно преобразовать в ХП DateTime(float) в TimeStamp?
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
1. Выяснить точку отсчёта - т.е. какой датой является 0.0. Предположим, это '01.01.1600' (абсолютно не важно).
2. К этой дате прибавляем double, как
2. К этой дате прибавляем double, как
Код: Выделить всё
CAST('01.01.1600' as timestamp) + DoubleFieldDate
Вот что я откапал. Так он по ходу дела и преобразовывал дату в непойми что...
Обратно пытался переконвертить - постоянные ошибки. Пока что не очень дружу с ХП
Код: Выделить всё
CREATE PROCEDURE GET_TIMESTAMPASFLOAT (
DATETIME TIMESTAMP)
RETURNS (
RESULT DOUBLE PRECISION)
AS
DECLARE VARIABLE D DATE;
DECLARE VARIABLE T TIME;
begin
d=datetime;
t=datetime;
result=cast((t-cast('0:00:00' as time)) as float)/86400;
result=cast((d-cast('30.12.1899' as date)) as integer)+result;
suspend;
end^