Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:
Databricks Runtime 16.3 a novější
Spustí thenStmtN pro první optN, který se rovná expr, nebo spustí elseStmt, pokud se žádný optN neshoduje s expr.
To se nazývá jednoduchý příkaz case.
Systém provede thenStmtN pro první condN vyhodnocující se jako true, nebo elseStmt, pokud se žádný condN nevyhodnotí jako true.
To se nazývá vyhledávací příkaz case.
U výrazu CASE, které poskytují výsledné hodnoty, viz výraz CASE
Tento příkaz lze použít pouze ve složeném příkazu.
Skladba
CASE expr
{ WHEN opt THEN { thenStmt ; } [...] } [...]
[ ELSE { elseStmt ; } [...] ]
END CASE
CASE
{ WHEN cond THEN { thenStmt ; } [...] } [...]
[ ELSE { elseStmt ; } [...] ]
END CASE
Parametry
výraz
Libovolný výraz, pro který je definováno porovnání.
optVýraz s nejnižším společným typem zahrnujícím
expra všechny ostatníoptN.thenStmtPříkaz SQL, který se má provést, pokud je
truepředchozí podmínka .elseStmtPříkaz SQL, který se má provést, pokud není
condtrue. To je všecondjsoufalsenebonull.condVýraz
BOOLEAN.
Podmínky se vyhodnocují v pořadí a pouze první sada příkazů, pro které se opt nebo cond vyhodnotí jako true, bude provedena.
Příklady
-- 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
Související články
- skriptování SQL
- složený příkaz
- výrazu CASE
- příkazu IF