CASE
Синтаксис
Как блок
Как функция
CASE expression
WHEN value_1 THEN result_1
[ WHEN value_2 THEN result_2
... ]
ELSE default_result
END
CASE(
expression,
value_1, result_1,
[ value_2, result_2,
... ]
default_result
)
Описание
Сравнивает выражение expression с последовательностью значений value_1, value_2, ... и возвращает результат для первого совпадения.
Если совпадений не найдено, то возвращает default_result.
Типы аргументов:
expression—Любойvalue_1—Любойresult_1—Любойvalue_2—Любойresult_2—Любойdefault_result—Любой
Возвращаемый тип: Совпадает с типом аргументов (result_1, result_2, default_result)
Примечание
Тип аргументов (result_1, result_2, default_result) должен совпадать.
Примеры
CASE (
[country],
"AO", "Angola",
"AU", "Australia",
"BY", "Belarus",
"CA", "Canada",
"TT", "Trinidad and Tobago",
"Other Country"
)
CASE [country]
WHEN "AO" THEN "Angola"
WHEN "AU" THEN "Australia"
WHEN "BY" THEN "Belarus"
WHEN "CA" THEN "Canada"
WHEN "TT" THEN "Trinidad and Tobago"
ELSE "Other Country"
END
Пример с таблицей данных
Формулы:
- unit:
[unit]; - case_function:
CASE([unit], "s", 1, "m", 60, "h", 3600, 0); - case_statement:
CASE [unit] WHEN "s" THEN 1 WHEN "m" THEN 60 WHEN "h" THEN 3600 ELSE 0 END.
| unit | case_function | case_statement |
|---|---|---|
's' |
1 |
1 |
'm' |
60 |
60 |
'h' |
3600 |
3600 |
Поддержка источников данных
ClickHouse 21.8, Файлы, Google Sheets, Microsoft SQL Server 2017 (14.0), MySQL 5.7, Oracle Database 12c (12.1), PostgreSQL 9.3, Яндекс Документы, YDB.