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

Функции для работы с 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

Выполняет безопасное по отношению к нулю сравнение. Используется для сравнения ключей 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.

Пример

Запрос:

Результат:

Запрос:

Результат: