Skip to main content
Skip to main content
Edit this page

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

isNull

Проверяет является ли аргумент NULL.

Синоним: ISNULL.

Аргументы

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

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

  • 1, если xNULL.
  • 0, если x — не NULL.

Пример

Входная таблица

Запрос

isNotNull

Проверяет не является ли аргумент NULL.

Аргументы

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

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

  • 0, если xNULL.
  • 1, если x — не NULL.

Пример

Входная таблица

Запрос

coalesce

Последовательно слева-направо проверяет являются ли переданные аргументы NULL и возвращает первый не NULL.

Аргументы

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

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

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

Пример

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

Поля mail и phone имеют тип String, а поле icqUInt32, его необходимо будет преобразовать в String.

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

ifNull

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

Аргументы

  • x — значение для проверки на NULL,
  • alt — значение, которое функция вернёт, если xNULL.

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

  • Значение x, если x — не NULL.
  • Значение alt, если xNULL.

Пример

nullIf

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

Аргументы

x, y — значения для сравнивания. Они должны быть совместимых типов, иначе ClickHouse сгенерирует исключение.

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

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

Пример

assumeNotNull

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

Аргументы

  • x — исходное значение.

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

  • Исходное значение с не Nullable типом, если оно — не NULL.
  • Неспецифицированный результат, зависящий от реализации, если исходное значение — NULL.

Пример

Рассмотрим таблицу t_null.

Применим функцию assumeNotNull к столбцу y.

toNullable

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

Аргументы

  • x — значение произвольного не составного типа.

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

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

Пример