Функции для работы с nullable значениями
assumeNotNull
Введена в: v1.1
Возвращает соответствующее непустое значение для значения типа Nullable.
Если исходное значение равно NULL, может быть возвращен произвольный результат.
Смотрите также: функции ifNull и coalesce.
Синтаксис
Аргументы
x— Исходное значение любого nullable типа.Nullable(T)
Возвращаемое значение
Возвращает непустое значение, если исходное значение не было NULL, в противном случае — произвольное значение, если входное значение NULL. Any
Примеры
Пример использования
coalesce
Введена в: v1.1
Возвращает самый левый не-NULL аргумент.
Синтаксис
Аргументы
x[, y, ...]— Любое количество параметров некорректного типа. Все параметры должны быть совместимы по типу.Any
Возвращаемое значение
Возвращает первый не-NULL аргумент, иначе NULL, если все аргументы равны NULL. Any или NULL
Примеры
Пример использования
firstNonDefault
Введена в: v25.9
Возвращает первое не-умолчательное значение из набора аргументов
Синтаксис
Аргументы
arg1— Первый аргумент для проверки -arg2— Второй аргумент для проверки -...— Дополнительные аргументы для проверки
Возвращаемое значение
Тип результата — супертотип всех аргументов
Примеры
целые числа
строки
нулевые значения
nullable ноль
ifNull
Введена в: v1.1
Возвращает альтернативное значение, если первый аргумент равен NULL.
Синтаксис
Аргументы
x— Значение для проверки наNULL.Anyalt— Значение, которое функция возвращает, еслиxравноNULL.Any
Возвращаемое значение
Возвращает значение x, если оно не равно NULL, в противном случае alt. Any
Примеры
Пример использования
isNotDistinctFrom
Введена в: v23.8
Выполняет безопасное сравнение для JOIN ключей. Эта функция будет считать
два NULL значения одинаковыми и вернет true, что отличается от обычного
поведения equals, где сравнение двух NULL значений вернет NULL.
Эта функция является внутренней и используется при реализации JOIN ON.
Пожалуйста, не используйте её вручную в запросах.
Для полного примера смотрите: NULL значения в JOIN ключах.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает true, когда x и y оба равны NULL, иначе false. Bool
Примеры
isNotNull
Введена в: v1.1
Проверяет, не равно ли аргумент NULL.
Смотрите также: оператор IS NOT NULL.
Синтаксис
Аргументы
x— Значение некорректного типа.Any
Возвращаемое значение
Возвращает 1, если x не равно NULL, в противном случае 0. UInt8
Примеры
Пример использования
isNull
Введена в: v1.1
Проверяет, равно ли аргумент NULL.
Смотрите также: оператор IS NULL.
Синтаксис
Аргументы
x— Значение некорректного типа.Any
Возвращаемое значение
Возвращает 1, если x равно NULL, в противном случае 0. UInt8
Примеры
Пример использования
isNullable
Введена в: v22.7
Проверяет, является ли тип данных аргумента Nullable (т.е. позволяет ли он NULL значения).
Синтаксис
Аргументы
x— Значение любого типа данных.Any
Возвращаемое значение
Возвращает 1, если x является типом данных Nullable, в противном случае 0. UInt8
Примеры
Пример использования
isZeroOrNull
Введена в: v20.3
Проверяет, является ли аргумент либо нулем (0), либо NULL.
Синтаксис
Аргументы
x— Числовое значение.UInt
Возвращаемое значение
Возвращает 1, если x равно NULL или равно нулю, в противном случае 0. UInt8/16/32/64 или Float32/Float64
Примеры
Пример использования
nullIf
Введена в: v1.1
Возвращает NULL, если оба аргумента равны.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает NULL, если оба аргумента равны, в противном случае возвращает первое значение. NULL или Nullable(x)
Примеры
Пример использования
toNullable
Введена в: v1.1
Преобразует указанный тип аргумента в Nullable.
Синтаксис
Аргументы
x— Значение любого некорректного типа.Any
Возвращаемое значение
Возвращает входное значение, но типа Nullable. Nullable(Any)
Примеры
Пример использования