Anfang des Inhaltsbereichs

Allgemeine CASE-Funktion (searched_case_function) 

Die allgemeine CASE-Funktion (searched_case_function) ist eine Spezialfunktion, die eine Menge von Suchbedingungen untersucht, um einen Ergebnisausdruck zu bestimmen.

Syntax

<searched_case_function> ::=
CASE
  WHEN <search_condition> THEN <result_expression>
    [...]
  [ELSE <default_expression>])
END

<result_expression> ::= <expression>
<default_expression> ::= <expression>

search_condition, expression

Erläuterung

CASE überprüft nacheinander die Suchbedingungen search_condition. Sowie eine Suchbedingung gefunden wird, die wahr ist, ist das Ergebnis der allgemeinen CASE-Funktion der Wert des Ausdrucks result_expression, der zur Suchbedingung gehört.

Wird keine Suchbedingung gefunden, die wahr ist, so liefert CASE das Ergebnis des Ausdrucks default_expression. Ist default_expression nicht angegeben, dann ist der NULL-Wert das Ergebnis von CASE.

Alle Suchbedingungen ohne ROWNO-Prädikat sind zulässig. Die Datentypen der Ausdrücke result_expression und default_expression müssen vergleichbar sein.

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:

Einfache CASE-Funktion (simple_case_function)

Ende des Inhaltsbereichs