case Wyrażenie

Dotyczy:check marked yes Databricks SQL check marked yes Databricks Runtime

Zwraca resN wartość dla pierwszego optN , który jest równy expr lub def jeśli żaden z nich nie pasuje.

Zwraca resN wartość dla pierwszej condN oceny wartości true lub def jeśli nie zostanie znaleziona żadna.

Składnia

CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END

Argumenty

  • expr: dowolne wyrażenie, dla którego zdefiniowano porównanie.
  • optN: wyrażenie, które ma najmniej wspólny typ i expr wszystkie inne optN.
  • resN: dowolne wyrażenie, które ma najmniej wspólny typ ze wszystkimi innymi resN elementami i def.
  • def: opcjonalne wyrażenie, które ma najmniej wspólny typ ze wszystkimi resNelementami .
  • condN: wyrażenie logiczne.

Zwroty

Typ wyniku jest zgodny z najmniej typowym typem i defresN .

Jeśli def zostanie pominięty, wartość domyślna to NULL. Warunki są oceniane w kolejności i tylko te resN , def które dają wynik jest wykonywany.

Przykłady

> 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