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 clausolaWHEN
confrontainput_expression
coninput_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 clausolaWHEN
deve corrispondere una clausolaTHEN
, che specifica i risultati da restituire se la condizione è true. Se sono presenti più clausoleWHEN
, l'istruzioneCASE
restituisce il risultato per la prima clausola vera.else_result
(facoltativo): qualsiasi campo valido o espressione valida. La clausolaELSE
else_result specifica un risultato predefinito per l'istruzioneCASE
. Questa clausola viene restituita nel caso in cui nessuna delle clausoleWHEN
sia true. Se un'istruzioneCASE
non ha clausoleELSE
e nessuna delle clausoleWHEN
è vera, l'istruzioneCASE
restituisceNULL
.
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 confrontareinput_expression
: se il valore è uguale ainput_expression
, questa clausola è true. Puoi avere più clausoleWHEN
in una singola istruzioneCASE
.THEN
: il risultato da restituire se la condizione della clausolaWHEN
è true. Devi avere una clausolaTHEN
per ogni clausolaWHEN
nell'istruzioneCASE
.ELSE
: facoltativo. Se nessuna delle condizioni della clausolaWHEN
è true,CASE
restituisce il valore nella clausolaELSE
oNULL
se 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
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