Страница 1 из 1

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

Добавлено: 14 июн 2007, 16:54
bbeeaa
Добрый день, просьба не бить ногами, за дурацкий вопрос.
В таблице есть поле типа 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);
но ни к чему хорошему это не приводит.

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

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

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

Добавлено: 15 июн 2007, 12:17
CyberMax
Пардон, неправильно тебя понял :).