case
-Ausdruck
Gilt für: Databricks SQL 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 mitexpr
und allen anderenoptN
-Elementen aufweist.resN
: Ein beliebiger Ausdruck, der einen geringsten allgemeinen Typ mit allen anderenresN
- unddef
-Elementen aufweist.def
: Ein optionaler Ausdruck, der einen geringsten allgemeinen Typ mit allenresN
-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