FirebirdSQL logo

AT

Доступно в

DSQL, PSQL.

Синтаксис
<expr> AT {TIME ZONE <time zone string> | LOCAL}

<time zone string> ::=
    '<time zone>'

<time zone> ::=
    <time zone region> |
    [+/-] <hour displacement> [: <minute displacement>]

Преобразует время или временную метку в указанный часовой пояс.Если используется ключевое слово LOCAL, то преобразование происходит в часовой пояс сессии.

Example 1. Использование функции AT
select time '12:00 GMT' at time zone '-03'
  from rdb$database;

select current_timestamp at time zone 'America/Sao_Paulo'
  from rdb$database;

select timestamp '2018-01-01 12:00 GMT' at local
  from rdb$database;

NEXT VALUE FOR

Доступно вDSQL, PSQL.

Синтаксис
NEXT VALUE FOR sequence-name

Возвращает следующее значение в последовательности (SEQUENCE). SEQUENCE является SQL совместимым термином генератора в InterBase и Firebird.Оператор NEXT VALUE FOR полностью эквивалентен функции GEN_ID (sequence-name, 1) и является рекомендуемым синтаксисом.

Note

NEXT VALUE FOR не поддерживает значение приращения, отличное от того, что было указано при создании последовательности в предложении INCREMENT [BY]. Если требуется другое значение шага, то используйте старую функцию GEN_ID.

Example 1. Использование NEXT VALUE FOR
NEW.CUST_ID = NEXT VALUE FOR CUSTSEQ;
См. также:

SEQUENCE (GENERATOR), GEN_ID.

Условные выражения

Условное выражение — это выражение, которое возвращает различные значения в зависимости от истинности некоторого условия или условий.В данном разделе описано лишь одно условное выражение CASE.Остальные условные выражения являются производными встроенными функциями и описаны в разделе Условные функции.

CASE

Доступно в

DSQL, ESQL.

Оператор CASE возвращает только одно значение из нескольких возможных.Есть два синтаксических варианта:

  • Простой CASE, сравнимый с Pascal case или C switch;

  • Поисковый CASE, который работает как серия операторов “if …​ else if …​ else if”.