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_expressionmitinput_expressionund 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-AnweisungNULLzurü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_expressionverglichen 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, gibtCASEden 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