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 – Beliebiges gültiges Feld oder beliebiger gültiger Ausdruck. Mit der WHEN-Anweisung wird input_expression mit input_expression verglichen. Wenn die beiden übereinstimmen, wird „true“ zurückgegeben, andernfalls „false“]{#when-conditions}
  • result : ein beliebiges gültiges Feld oder ein beliebiger gültiger Ausdruck. Für jede WHEN-Anweisung muss eine übereinstimmende 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 wahre Anweisung zurück.
  • else_result (optional): ein beliebiges gültiges Feld oder ein beliebiger gültiger Ausdruck. Die ELSE-Anweisung else_result gibt ein Standardergebnis für die CASE-Anweisung an. Diese Anweisung wird zurückgegeben, wenn keine der WHEN-Anweisungen zutrifft. Wenn eine CASE-Anweisung keine ELSE-Anweisung enthält und keine der WHEN-Anweisungen zutrifft, gibt die CASE-Anweisung NULL 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 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-Anweisung in der CASE-Anweisung muss eine THEN-Anweisung vorhanden sein.
  • ELSE : Optional. Wenn keine der Bedingungen 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-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