CASE (simple)
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: IF
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
: ein beliebiges gültiges Feld oder ein beliebiger gültiger Ausdruck. DieWHEN
-Anweisung 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. Für jedeWHEN
-Anweisung muss eine übereinstimmendeTHEN
-Anweisung angegeben werden. Sie legt fest, welche Ergebnisse zurückgegeben werden, wenn die 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
-Anweisung 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
-Anweisung enthält und keine derWHEN
-Anweisungen zutrifft, gibt dieCASE
-AnweisungNULL
zurück.
So funktioniert „simple CASE
“
Eine einfache CASE
-Anweisung besteht aus den folgenden Elementen:
- Sie beginnt mit dem Schlüsselwort
CASE
. Darauf folgt ein Eingabeausdruck. WHEN
: Der 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
-Anweisung in IhrerCASE
-Anweisung muss eineTHEN
-Anweisung vorhanden sein.ELSE
: Optional. Wenn keine der Bedingungen 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
-Anweisungen und das ELSE
-Ergebnis werden nicht ausgewertet. Wenn alle WHEN
-Bedingungen „false“ oder NULL
sind, 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