Перейти к основному содержимому
Перейти к основному содержимому

Функции для работы с Nullable значениями

isNull

Возвращает, является ли аргумент NULL.

Смотрите также оператор IS NULL.

Синтаксис

Псевдоним: ISNULL.

Аргументы

  • x — Значение не составного типа данных.

Возвращаемое значение

  • 1, если x является NULL.
  • 0, если x не является NULL.

Пример

Таблица:

Запрос:

Результат:

isNullable

Возвращает 1, если колонка является Nullable (т.е. допускает NULL значения), 0 в противном случае.

Синтаксис

Аргументы

  • x — колонка.

Возвращаемое значение

  • 1, если x допускает NULL значения. UInt8.
  • 0, если x не допускает NULL значения. UInt8.

Пример

Запрос:

Результат:

isNotNull

Возвращает, является ли аргумент не NULL.

Смотрите также оператор IS NOT NULL.

Аргументы:

  • x — Значение не составного типа данных.

Возвращаемое значение

  • 1, если x не является NULL.
  • 0, если x является NULL.

Пример

Таблица:

Запрос:

Результат:

isNotDistinctFrom

Выполняет безопасное для NULL сравнение. Используется для сравнения ключей JOIN, которые содержат значения NULL в секции JOIN ON. Эта функция будет рассматривать два значения NULL как идентичные и вернет true, что отличается от обычного поведения сравнения, при котором сравнение двух значений NULL вернет NULL.

примечание

Эта функция является внутренней функцией, используемой в реализации JOIN ON. Пожалуйста, не используйте ее вручную в запросах.

Синтаксис

Аргументы

  • x — первый ключ JOIN.
  • y — второй ключ JOIN.

Возвращаемое значение

  • true, если x и y оба равны NULL.
  • false в противном случае.

Пример

Для полного примера смотрите: NULL значения в ключах JOIN.

isZeroOrNull

Возвращает, является ли аргумент 0 (ноль) или NULL.

Аргументы:

  • x — Значение не составного типа данных.

Возвращаемое значение

  • 1, если x равен 0 (нулю) или NULL.
  • 0 в противном случае.

Пример

Таблица:

Запрос:

Результат:

coalesce

Возвращает левый наиболее не-NULL аргумент.

Аргументы:

  • Произвольное количество параметров не составного типа. Все параметры должны быть совместимыми по типу данных.

Возвращаемые значения

  • Первый не-NULL аргумент.
  • NULL, если все аргументы равны NULL.

Пример

Рассмотрим список контактов, который может содержать несколько способов связи с клиентом.

Поля mail и phone имеют тип String, но поле telegram — это UInt32, поэтому оно должно быть преобразовано в String.

Получите первый доступный способ связи с клиентом из списка контактов:

ifNull

Возвращает альтернативное значение, если аргумент равен NULL.

Аргументы:

  • x — Значение, которое нужно проверить на NULL.
  • alt — Значение, которое функция возвращает, если x равен NULL.

Возвращаемые значения

  • x, если x не равен NULL.
  • alt, если x равен NULL.

Пример

Запрос:

Результат:

Запрос:

Результат:

nullIf

Возвращает NULL, если оба аргумента равны.

Аргументы:

x, y — Значения для сравнения. Должны быть совместимого типа.

Возвращаемые значения

  • NULL, если аргументы равны.
  • x, если аргументы не равны.

Пример

Запрос:

Результат:

Запрос:

Результат:

assumeNotNull

Возвращает соответствующее значение не-Nullable для значения типа Nullable. Если оригинальное значение равно NULL, может быть возвращено произвольное значение. Смотрите также функции ifNull и coalesce.

Аргументы:

  • x — Оригинальное значение.

Возвращаемые значения

  • Входное значение как тип не-Nullable, если оно не равно NULL.
  • Произвольное значение, если входное значение равно NULL.

Пример

Таблица:

Запрос:

Результат:

Запрос:

Результат:

toNullable

Преобразует тип аргумента в Nullable.

Аргументы:

  • x — Значение не составного типа.

Возвращаемое значение

  • Входное значение, но типа Nullable.

Пример

Запрос:

Результат:

Запрос:

Результат: