CASE (simple)
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: IF.
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 valido o espressione valida. La clausolaWHENconfrontainput_expressionconinput_expressione restituisce true se i due sono uguali o false in caso contrario.]{#when-conditions} result: qualsiasi campo valido o espressione valida. A ciascuna clausolaWHENdeve corrispondere una clausolaTHEN, che specifica i risultati da restituire se la condizione è true. Se sono presenti più clausoleWHEN, l'istruzioneCASErestituisce il risultato per la prima clausola true.else_result(facoltativo): qualsiasi campo valido o espressione valida. La clausolaELSEelse_result specifica un risultato predefinito per l'istruzioneCASE. Questa clausola viene restituita nel caso in cui nessuna delle clausoleWHENsia true. Se un'istruzioneCASEnon ha clausoleELSEe nessuna delle clausoleWHENè true, l'istruzioneCASErestituisceNULL.
Come funziona CASE semplice
Un'istruzione CASE semplice è costituita dai seguenti elementi:
- La parola chiave
CASE, seguita da un'espressione di input. WHEN: il valore con cui confrontareinput_expression: se il valore è uguale ainput_expression, questa clausola è true. Puoi avere più clausoleWHENin una singola istruzioneCASE.THEN: il risultato da restituire se la condizione della clausolaWHENè true. Nell'istruzioneCASE, devi avere una clausolaTHENper ogni clausolaWHEN.ELSE: facoltativo. Se nessuna delle condizioni della clausolaWHENè true,CASErestituisce il valore nella clausolaELSEoNULLse non viene specificata alcuna clausolaELSE.- 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. 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