case
výraz
Platí pro: Databricks SQL
Databricks Runtime
Vrátí resN
hodnotu pro prvníoptN
, která se rovná nebo def
pokud se žádná shoda neshodujeexpr
.
Vrátí resN
hodnotu pro první condN
vyhodnocení na hodnotu true nebo def
pokud nebyla nalezena žádná.
Syntaxe
CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END
Argumenty
expr
: Libovolný výraz, pro který je definováno porovnání.optN
: Výraz, který má nejméně společný typ sexpr
a všemi ostatnímioptN
.resN
: Libovolný výraz, který má nejméně společný typ se všemi ostatnímiresN
adef
.def
: Volitelný výraz, který má nejméně společný typ se všemiresN
.condN
: Logický výraz.
Návraty
Typ výsledku odpovídá nejméně společnému resN
typu a def
.
Pokud def
je vynechán výchozí hodnota NULL.
Podmínky se vyhodnocují v pořadí a výsledek se provede pouze resN
def
tím, že se výsledek provede.
Příklady
> SELECT CASE WHEN 1 > 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;
1.0
> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;
2.0
> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 < 0 THEN 2.0 END;
NULL
> SELECT CASE 3 WHEN 1 THEN 'A' WHEN 2 THEN 'B' WHEN 3 THEN 'C' END;
C