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: 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. Die WHEN-Klausel vergleicht input_expression mit input_expression und gibt „true“ zurück, wenn die beiden übereinstimmen, und „false“, wenn nicht.]{#when-conditions}
  • result : alle gültigen Felder oder Ausdrücke. Jede WHEN-Anweisung muss eine übereinstimmende THEN-Anweisung haben, die die Ergebnisse angibt, die zurückgegeben werden sollen, wenn diese Bedingung erfüllt ist. Wenn es mehrere WHEN-Anweisungen gibt, gibt die CASE-Anweisung das Ergebnis für die erste wahre Anweisung zurück.
  • else_result (optional): alle gültigen Felder oder Ausdrücke. Die ELSE-Klausel else_result 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-Klausel enthält und keine der WHEN-Klauseln zutrifft, gibt die CASE-Anweisung NULL 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 dem input_expression verglichen wird : Wenn der Wert mit input_expression übereinstimmt, wird für diese Anweisung „true“ zurückgegeben. Eine CASE-Anweisung kann mehrere WHEN-Anweisungen enthalten.
  • THEN : das Ergebnis, das zurückgegeben wird, wenn die Bedingung der WHEN-Anweisung erfüllt ist. Für jede WHEN-Klausel in Ihrer CASE-Anweisung muss eine THEN-Klausel vorhanden sein.
  • ELSE : Optional. Wenn keine Bedingung der WHEN-Anweisung erfüllt ist, gibt CASE den Wert der ELSE-Anweisung zurück oder NULL, wenn keine ELSE-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