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 - alle gültigen Felder oder Ausdrücke. Die WHEN-Anweisung vergleicht input_expression mit `expression_to_match` und gibt „true“ zurück, wenn die beiden übereinstimmen, und „false“, wenn nicht.{#when-conditions}input_expression
  • result – alle gültigen Felder oder Ausdrücke. Für jede WHEN-Anweisung muss eine THEN-Anweisung angegeben werden. Sie legt fest, welche Ergebnisse zurückgegeben werden, wenn die Bedingung erfüllt ist. Bei mehreren WHEN-Anweisungen gibt die CASE-Anweisung das Ergebnis für die erste erfüllte Anweisung zurück.
  • else_result (optional): alle gültigen Felder oder Ausdrücke. Die ELSE else_result-Klausel gibt ein Standardergebnis für die CASE-Anweisung an. Sie wird zurückgegeben, falls keine der WHEN-Anweisungen erfüllt ist. Wenn eine CASE-Anweisung keine ELSE-Anweisung enthält und keine der WHEN-Anweisungen erfüllt ist, gibt die CASE-Anweisung NULL zurück.

Funktionsweise von „simple CASE

Eine „simple CASE“-Anweisung besteht aus den folgenden Elementen:

  • Sie beginnt mit CASE. Darauf folgt ein Eingabeausdruck.
  • WHEN ist der Wert, mit dem der input_expression verglichen werden soll. Stimmt er überein, wird für die Anweisung „true“ zurückgegeben.input_expression Sie können mehrere WHEN-Anweisungen in einer einzelnen CASE-Anweisung verwenden.
  • THEN ist das Ergebnis, das zurückgegeben werden soll, wenn die Bedingung der WHEN-Anweisung erfüllt ist. Für jede WHEN-Anweisung in Ihrer CASE-Anweisung muss eine THEN-Anweisung angegeben werden.
  • ELSE ist optional. Falls keine Bedingung der WHEN-Anweisung erfüllt ist, gibt CASE den Wert der ELSE-Anweisung zurück (oder NULL, wenn keine ELSE-Anweisung festgelegt ist).
  • Sie endet mit END.

CASE wertet WHEN-Anweisungen der Reihe nach aus und gibt das erste Ergebnis zurück, bei dem die Bedingung erfüllt ist. Die verbleibenden WHEN-Anweisungen und das ELSE-Ergebnis werden nicht ausgewertet. Wenn alle WHEN-Bedingungen „false“ oder NULL sind, gibt CASE das ELSE-Ergebnis zurück. Wenn in diesem Fall keine ELSE-Anweisung festgelegt wurde, wird 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