CASE (semplice)

CASE semplice restituisce un risultato in base al valore di una singola espressione di input o un risultato predefinito se nessuno dei valori di confronto corrisponde.

Vedi anche: SE.

Esempi di utilizzo

Sostituisci i codici di pagamento con nomi intuitivi:

    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

Sintassi

    CASE input_expression
        WHEN expression_to_match THEN result
        [WHEN expression_to_match THEN result]
        [...]
        [ELSE else_result]
    END

Parametri

  • input_expression: qualsiasi campo valido o espressione valida.
  • [expression_to_match: qualsiasi campo o espressione valido. La clausola WHEN confronta input_expression con input_expression e restituisce true se i due sono uguali o false in caso contrario.]{#when-conditions}
  • result : qualsiasi campo valido o espressione valida. A ogni clausola WHEN deve corrispondere una clausola THEN, che specifica i risultati da restituire se la condizione è true. Se sono presenti più clausole WHEN, l'istruzione CASE restituisce il risultato per la prima clausola vera.
  • else_result (facoltativo): qualsiasi campo valido o espressione valida. La clausola ELSE else_result specifica un risultato predefinito per l'istruzione CASE. Questa clausola viene restituita nel caso in cui nessuna delle clausole WHEN sia true. Se un'istruzione CASE non ha clausole ELSE e nessuna delle clausole WHEN è vera, l'istruzione CASE restituisce NULL.

Come funziona CASE

Un'istruzione CASE semplice è costituita dai seguenti elementi:

  • La parola chiave CASE, seguita da un'espressione di input.
  • WHEN : il valore rispetto con cui confrontare input_expression : se il valore è uguale a input_expression, questa clausola è true. Puoi avere più clausole WHEN in una singola istruzione CASE.
  • THEN : il risultato da restituire se la condizione della clausola WHEN è true. Devi avere una clausola THEN per ogni clausola WHEN nell'istruzione CASE.
  • ELSE : facoltativo. Se nessuna delle condizioni della clausola WHEN è true, CASE restituisce il valore nella clausola ELSE o NULL se non viene specificata alcuna clausola ELSE.
  • La parola chiave END.

CASE valuta ogni clausola WHEN successiva e restituisce il primo risultato in cui la condizione è true. Eventuali clausole WHEN rimanenti e il risultato ELSE non vengono valutati. Se tutte le condizioni WHEN sono false o NULL, CASE restituisce il risultato ELSE oppure, se non è presente alcuna clausola ELSE, restituisce NULL.

Esempio

Fornisci link personalizzati per i clienti premium:

    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