Sdílet prostřednictvím


case výraz

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano 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

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