Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
применяется:
Databricks Runtime 16.3 и выше
Выполняет thenStmtN для первого optN, равного expr или elseStmt, если optN не соответствует expr.
Это называется оператором простого регистра.
Выполняет thenStmtN для первого condN, который вычисляется как true, или же elseStmt, если ни один condN не вычисляется как true.
Это называется оператором выбора.
Для выражений CASE, которые возвращают значения результатов, см. CASE expression
Эта инструкция может использоваться только в составной инструкции.
Синтаксис
CASE expr
{ WHEN opt THEN { thenStmt ; } [...] } [...]
[ ELSE { elseStmt ; } [...] ]
END CASE
CASE
{ WHEN cond THEN { thenStmt ; } [...] } [...]
[ ELSE { elseStmt ; } [...] ]
END CASE
Параметры
expr
Любое выражение, для которого определено сравнение.
optВыражение с наименьшим общим типом, которое соответствует
exprи всем другимoptN.thenStmtИнструкция SQL для выполнения, если задано предыдущее условие
true.elseStmtЗапрос SQL для выполнения, если нет
condtrue. Это всеcondfalseилиnull.condВыражение
BOOLEAN.
Условия оцениваются по порядку, и затем будет выполнен только первый набор утверждений, для которого opt или cond вычисляется в true.
Примеры
-- a simple case statement
> BEGIN
DECLARE choice INT DEFAULT 3;
DECLARE result STRING;
CASE choice
WHEN 1 THEN
VALUES ('one fish');
WHEN 2 THEN
VALUES ('two fish');
WHEN 3 THEN
VALUES ('red fish');
WHEN 4 THEN
VALUES ('blue fish');
ELSE
VALUES ('no fish');
END CASE;
END;
red fish
-- A searched case statement
> BEGIN
DECLARE choice DOUBLE DEFAULT 3.9;
DECLARE result STRING;
CASE
WHEN choice < 2 THEN
VALUES ('one fish');
WHEN choice < 3 THEN
VALUES ('two fish');
WHEN choice < 4 THEN
VALUES ('red fish');
WHEN choice < 5 OR choice IS NULL THEN
VALUES ('blue fish');
ELSE
VALUES ('no fish');
END CASE;
END;
red fish