case
Expressie
Retourneert resN
voor de eerste optN
die gelijk is expr
aan of def
als er geen overeenkomsten zijn.
Retourneert resN
voor de eerste condN
die waar evalueert of def
als er geen is gevonden.
Syntaxis
CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END
Argumenten
expr
: elke expressie waarvoor een vergelijking is gedefinieerd.optN
: Een expressie met een minst gemeenschappelijk type metexpr
en alle andereoptN
.resN
: elke expressie met een minst gemeenschappelijk type met alle andereresN
endef
.def
: Een optionele expressie met een minst gemeenschappelijk type met alleresN
.condN
: een BOOLEAANSE expressie.
Retouren
Het resultaattype komt overeen met het minst algemene type en resN
def
.
Als def
u dit weglaat, is de standaardwaarde NULL.
Voorwaarden worden op volgorde geƫvalueerd en alleen de resN
of def
die het resultaat oplevert, wordt uitgevoerd.
Voorbeelden
> 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