Функции для работы с 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
.Any
alt
— Значение, которое функция возвращает, если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)
Примеры
Пример использования