case Výraz

Platí pro:check marked yes Databricks SQL check marked yes 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

Vrácení

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 resNdef 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