Freigeben über


case-Ausdruck

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL Häkchen gesetzt ja Databricks Runtime

Gibt resN für das erste optN-Element zurück, das gleich expr ist, oder def, wenn keine Übereinstimmung gefunden wird.

Gibt resN für das erste condN-Element zurück, das in TRUE ausgewertet wird, oder def, wenn kein solches Element gefunden wurde.

Syntax

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

Argumente

  • expr: Ein beliebiger Ausdruck, für den Vergleich definiert ist.
  • optN: Ein Ausdruck, der einen geringsten allgemeinen Typ mit expr und allen anderen optN-Elementen aufweist.
  • resN: Ein beliebiger Ausdruck, der einen geringsten allgemeinen Typ mit allen anderen resN- und def-Elementen aufweist.
  • def: Ein optionaler Ausdruck, der einen geringsten allgemeinen Typ mit allen resN-Elementen aufweist.
  • condN: Ein BOOLESCHER Ausdruck

Gibt zurück

Der Ergebnistyp entspricht dem geringsten allgemeinen Typ von resN und def.

Wenn def nicht angegeben wird, ist der Standardwert NULL. Bedingungen werden in der Reihenfolge ausgewertet, und nur das resN- oder def-Element, das das Ergebnis ergibt, wird ausgeführt.

Beispiele

> 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