FirebirdSQL logo

COALESCE()

Доступно в

DSQL, PSQL

Синтаксис
COALESCE (<exp1>, <exp2> [, <expN> ... ])
Table 1. Параметры функции COALESCE
Параметр Описание

exp1, exp2 …​ expN

Выражения любого совместимого типа.

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

зависит от типов входных аргументов

Функция COALESCE принимает два или более аргумента возвращает значение первого не-NULL аргумента.Если все аргументы имеют значение NULL, то и результат будет NULL.

Примеры COALESCE

Example 1. Использование функции COALESCE

В данном примере предпринимается попытка использовать все имеющиеся данные для составления полного имени.Выбирается поле NICKNAME из таблицы PERSONS.Если оно имеет значение NULL, то берётся значение из поля FIRSTNAME.Если и оно имеет значение NULL, то используется строка “'Mr./Mrs.'”.Затем к значению функции COALESCE добавляется фамилия (поле LASTNAME). Обратите внимание, что эта схема нормально работает, только если выбираемые поля имеют значение NULL или не пустое значение: если одно из них является пустой строкой, то именно оно и возвратится в качестве значения функции COALESCE.

SELECT
  COALESCE(PE.NICKNAME, PE.FIRSTNAME, 'Mr./Mrs.') ||
  ' ' || PE.LASTNAME AS FULLNAME
FROM PERSONS PE
Example 2. Использование функции COALESCE с агрегатными функциями

В данном примере в случае получения при суммировании значения NULL запрос вернёт 0.

SELECT coalesce (sum (q), 0)
FROM bills
WHERE ...
См. также:

CASE.