clamp(value, min, max)
|
Ограничивает значение value диапазоном [min, max]. Если value < min, возвращает min; если value > max, возвращает max; иначе возвращает само value. Все аргументы должны быть сравнимых типов. Тип результата — это наибольший совместимый тип среди всех аргументов. |
greatest(x1[, x2, …])
|
Возвращает наибольшее значение среди x1, x2 и последующих аргументов. Принимает один или несколько аргументов для сравнения. Все аргументы должны быть сравнимых типов. Для типов DateTime тип результата повышается до наиболее широкого типа. Для массивов возвращает лексикографически наибольший массив.
Начиная с версии ClickHouse 24.12 аргументы NULL игнорируются, тогда как ранее возвращался NULL, если один из аргументов был NULL. Чтобы сохранить прежнее поведение, необходимо установить настройку least_greatest_legacy_null_behavior в значение true. |
if(cond, then, else)
|
Выполняет условное ветвление: если cond (тип UInt8, Nullable(UInt8) или NULL) истинно (не 0 и не NULL), возвращает then; иначе возвращает else. Выражения then и else должны быть одного типа. При включенной настройке short_circuit_function_evaluation используется укороченное вычисление: then вычисляется только для строк, где cond истинно, а else — только для строк, где cond ложно. |
least(x1[, x2, …])
|
Возвращает наименьшее значение среди x1, x2 и последующих аргументов. Принимает один или несколько аргументов для сравнения. Все аргументы должны быть сравнимых типов. Для типов DateTime тип результата повышается до наиболее широкого типа. Для массивов возвращает лексикографически наименьший массив.
Начиная с версии ClickHouse 24.12 аргументы NULL игнорируются, тогда как ранее возвращался NULL, если один из аргументов был NULL. Чтобы сохранить прежнее поведение, необходимо установить настройку least_greatest_legacy_null_behavior в значение true. |
multiIf(cond_1, then_1, cond_2, then_2, …, else)
caseWithoutExpr(cond_1, then_1, cond_2, then_2, …, else)
caseWithoutExpression(cond_1, then_1, cond_2, then_2, …, else)
|
Выполняет множественное ветвление: последовательно проверяет cond_1, cond_2 и последующие условия. Возвращает then_N для первого истинного cond_N (условия со значением NULL считаются ложными). Если ни одно условие не истинно, возвращает else. Все выражения во всех ветвях и в else должны иметь общий супертип. При включенной настройке short_circuit_function_evaluation выражение then_i вычисляется только для строк, для которых все предыдущие условия ложны, а текущее cond_i истинно. |