Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gilt für:
Databricks Runtime 16.3 und höher
Führt thenStmtN für den ersten optN aus, der expr oder elseStmt entspricht, wenn keine optN mit expr übereinstimmt.
Dies wird als einfache Fall-Anweisung bezeichnet.
Führt thenStmtN für die erste condN, die zu trueausgewertet wird, oder elseStmt aus, wenn keine condN zu true ausgewertet wird.
Dies wird als gesuchte Fallanweisung bezeichnet.
Fallausdrücke, die Ergebniswerte liefern, finden Sie unter CASE-Ausdruck
Diese Anweisung kann nur in einer zusammengesetzten Anweisung verwendet werden.
Syntax
CASE expr
{ WHEN opt THEN { thenStmt ; } [...] } [...]
[ ELSE { elseStmt ; } [...] ]
END CASE
CASE
{ WHEN cond THEN { thenStmt ; } [...] } [...]
[ ELSE { elseStmt ; } [...] ]
END CASE
Die Parameter
Expression
Jeder Ausdruck, für den ein Vergleich definiert ist.
optEin Ausdruck mit einem am wenigsten gebräuchlichen Typ mit
exprund allen anderenoptN.thenStmtEine SQL-Anweisung, die ausgeführt werden soll, wenn die vorangehende Bedingung lautet
true.elseStmtEine SQL-Anweisung, die ausgeführt werden soll, wenn nein
cond.trueDas ist allescondfalseodernull.condEin
BOOLEANAusdruck.
Bedingungen werden der Reihe nach ausgewertet, und nur der erste Satz von Anweisungen, für den opt oder cond zu true ausgewertet wird, wird ausgeführt.
Beispiele
-- 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