простой вопрос про TIMESTAMP

ЧАстые Вопросы и Ответы

Модераторы: kdv, CyberMax

Ответить
bbeeaa
Сообщения: 3
Зарегистрирован: 14 июн 2007, 15:06

простой вопрос про TIMESTAMP

Сообщение bbeeaa » 14 июн 2007, 16:54

Добрый день, просьба не бить ногами, за дурацкий вопрос.
В таблице есть поле типа TIMESTAMP, в котором хранится некая дата и время.
Как к этому значению добавить, например 10 минут? Или как получить 10 минут в виде типа TIMESTAMP? В чем вообще TIMESTAMP хранит дату и время?
сервер Firebird 1.5.
Я пытаюсь делать так:

Код: Выделить всё

  A = 10;
  DMIN = CAST(INDATE AS DOUBLE PRECISION);
  DMIN = DMIN * 1440 + A;
  INDATE = CAST(DMIN AS TIMESTAMP);
но ни к чему хорошему это не приводит.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 14 июн 2007, 17:50

10 минут в виде timestamp получить нельзя - просто потому что это не время, а интервал. Можно получить время 00:10:00, но только в time, в 3-м диалекте.
Прибавить просто - добавь (1/24/60 * 10) к значению timestamp, получишь новый timestamp.

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 15 июн 2007, 10:39

WildSery писал(а):10 минут в виде timestamp получить нельзя - просто потому что это не время, а интервал. Можно получить время 00:10:00, но только в time, в 3-м диалекте.
Интересно. По Борри в третьем диалекте:
DATE - дата (без времени);
TIME - время (без даты);
TIMESTAMP - дата и время.
Типа интервала как такового нет. Он получается вычитанием одного дня/времени из другого и имеет тип NUMERIC(18,9) (для D3).

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 15 июн 2007, 11:24

CyberMax писал(а):Типа интервала как такового нет.
Я и не утверждал, что есть. Я сказал, что "10 минут" - это не время, а интервал.

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 15 июн 2007, 12:17

Пардон, неправильно тебя понял :).

Ответить