Условные функции

Условные функции в RQL обеспечивают выполнение логических и сравнительных операций, позволяя определить выполнение различных выражений в зависимости от заданных условий.

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL. Ознакомиться с актуальным списком функций и их поведением можно в официальном репозитории ClickHouse, выбрав нужную версию из веток. Например: список условных функций для ClickHouse 24.7.

Таблица 1. Условные функции
Функция Описание

if(cond, then, else)

Выполняет условное ветвление. Если условие cond истинно (не равно нулю), возвращает результат выражения then. Если cond ложно (равно нулю) или NULL, возвращает результат выражения else. Типы выражений then и else должны быть схожими.

multiIf(cond_1, then_1, cond_2, then_2, …​, else)

Позволяет компактно записать оператор CASE. Функция принимает условия cond_N и соответствующие результаты then_N, а также результат else для случая, когда ни одно из условий не выполнено. Поддерживает использование краткого вычисления.