Die allgemeine CASE-Funktion (searched_case_function) ist eine Spezialfunktion, die eine Menge von Suchbedingungen untersucht, um einen Ergebnisausdruck (result_expression) zu bestimmen.
Syntax
<searched_case_function> ::=
CASE
WHEN <search_condition> THEN <result_expression>
[...]
[ELSE <default_expression>])
END
<result_expression> ::= <expression>
<default_expression> ::= <expression>
u(i) |
search_condition |
Suchbedingungen u(i). Alle Suchbedingungen ohne ROWNO-Prädikat sind zulässig. |
v(i) |
result_expression |
Wert v(i), der angenommen werden soll, wenn die Suchbedingung u(i) wahr ist |
z |
default_expression |
Wert z, optionaler Vorschlagswert |
CASE überprüft nacheinander die Suchbedingungen u(i). Sowie eine Suchbedingung gefunden wird, die wahr ist, ist das Ergebnis der allgemeinen CASE-Funktion der Wert v(i), der zu u(i) gehört.
Die Datentypen von v(i) und z müssen vergleichbar sein.
Wird keine Suchbedingung gefunden, die wahr ist, so liefert CASE das Ergebnis von z. Ist z nicht angegeben, dann ist der NULL-Wert das Ergebnis von CASE.
CASE
WHEN price IS NULL THEN 'Not yet priced'
WHEN price < 10 THEN 'Very Reasonable Title'
WHEN price >= 10 and price < 20 THEN 'Coffee Table
Title'
ELSE 'Expensive book!'
END
Siehe auch: