Mit „simple CASE
“ wird ein Ergebnis basierend auf dem Wert eines einzelnen Eingabeausdrucks zurückgegeben. Wenn keiner der Vergleichswerte übereinstimmt, wird ein Standardergebnis zurückgegeben.
Siehe auch: WENN.
Verwendungsbeispiel
Zahlungscodes durch intuitive Namen ersetzen:
CASE Payment Type WHEN "CC" THEN "Credit Card" WHEN "DC" THEN "Debit Card" WHEN "GC" THEN "Gift Card" WHEN "CA" THEN "Cash" ELSE "Other" END
Syntax
CASE input_expression WHEN expression_to_match THEN result [WHEN expression_to_match THEN result] [...] [ELSE else_result] END
Parameter
input_expression
: alle gültigen Felder oder Ausdrücke.- [
expression_to_match
: alle gültigen Felder oder Ausdrücke. DieWHEN
-Klausel vergleichtinput_expression
mitinput_expression
und gibt „true“ zurück, wenn die beiden übereinstimmen, und „false“, wenn nicht.]{#when-conditions} result
: alle gültigen Felder oder Ausdrücke. JedeWHEN
-Anweisung muss eine übereinstimmendeTHEN
-Anweisung haben, die die Ergebnisse angibt, die zurückgegeben werden sollen, wenn diese Bedingung erfüllt ist. Wenn es mehrereWHEN
-Anweisungen gibt, gibt dieCASE
-Anweisung das Ergebnis für die erste wahre Anweisung zurück.else_result
(optional): alle gültigen Felder oder Ausdrücke. DieELSE
-Klausel else_result gibt ein Standardergebnis für dieCASE
-Anweisung an. Sie wird zurückgegeben, falls keine derWHEN
-Anweisungen erfüllt ist. Wenn eineCASE
-Anweisung keineELSE
-Klausel enthält und keine derWHEN
-Klauseln zutrifft, gibt dieCASE
-AnweisungNULL
zurück.
So funktioniert CASE
Eine einfache CASE
-Anweisung besteht aus den folgenden Elementen:
- Das Schlüsselwort
CASE
, gefolgt von einem Eingabeausdruck. WHEN
: Wert, mit deminput_expression
verglichen wird : Wenn der Wert mitinput_expression
übereinstimmt, wird für diese Anweisung „true“ zurückgegeben. EineCASE
-Anweisung kann mehrereWHEN
-Anweisungen enthalten.THEN
: das Ergebnis, das zurückgegeben wird, wenn die Bedingung derWHEN
-Anweisung erfüllt ist. Für jedeWHEN
-Klausel in IhrerCASE
-Anweisung muss eineTHEN
-Klausel vorhanden sein.ELSE
: Optional. Wenn keine Bedingung derWHEN
-Anweisung erfüllt ist, gibtCASE
den Wert derELSE
-Anweisung zurück oderNULL
, wenn keineELSE
-Anweisung angegeben ist.- Das Keyword
END
.
CASE
wertet jede aufeinanderfolgende WHEN
-Anweisung aus und gibt das erste Ergebnis zurück, bei dem die Bedingung erfüllt ist. Alle verbleibenden WHEN
-Klauseln und das ELSE
-Ergebnis werden nicht ausgewertet. Wenn alle WHEN
-Bedingungen falsch sind oder NULL
, gibt CASE
das Ergebnis ELSE
zurück. Wenn es keine ELSE
-Anweisung gibt, wird der Wert NULL
zurückgegeben.
Beispiel
Individuelle Links für Ihre Premiumkunden angeben:
CASE Premium Status WHEN "Platinum" THEN CONCAT(Site URL, "platinum_welcome.html") WHEN "Gold" THEN CONCAT(Site URL, "gold_welcome.html") WHEN "Silver" THEN CONCAT(Site URL, "silver_welcome.html") ELSE CONCAT(Site URL, "welcome.html") END