FirebirdSQL logo

CURRENT_TIMESTAMP

Доступно в

DSQL, PSQL, ESQL

Синтаксис
CURRENT_TIMESTAMP [(<precision>)]

<precision> ::= 0 | 1 | 2 | 3
Table 1. Параметры контекстной переменной CURRENT_TIMESTAMP
Параметр Описание

precision

Точность.Значение по умолчанию 3.Не поддерживается в ESQL.

Тип возвращаемого результата

TIMESTAMP WITH TIME ZONE

Переменная CURRENT_TIMESTAMP возвращает текущую дату и время в часовом поясе сессии, включая информацию о часовом поясе.Точность определяет, сколько учитывать знаков после запятой в долях секунды.Точность по умолчанию равна 3.

Note

В блоке кода PSQL (процедура, триггер, исполняемый блок) значение CURRENT_TIMESTAMP не меняется по мере выполнения.При вызове вложенного кода, значение также не изменится и будет равно значению в коде самого верхнего уровня.Для определения реального времени используйте CAST('NOW' AS TIMESTAMP).

Example 1. Использование переменной CURRENT_TIMESTAMP
SELECT CURRENT_TIMESTAMP(2) FROM RDB$DATABASE;
-- результат будет (например) 02.03.2014 23:35:33.1200 Europe/Moscow

CURRENT_TRANSACTION

Доступно в

DSQL, PSQL

Синтаксис
CURRENT_TRANSACTION
Тип возвращаемого результата

BIGINT

Переменная CURRENT_TRANSACTION содержит уникальный номер текущей транзакции.

Значение `CURRENT_TRANSACTION хранится в странице заголовка базы данных и сбрасывается в 0 после восстановления (или создания базы). Оно увеличивается при старте новой транзакции.

Example 1. Использование переменной CURRENT_TRANSACTION
SELECT CURRENT_TRANSACTION FROM RDB$DATABASE;

NEW.TRANS_ID = CURRENT_TRANSACTION;