Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Istruzioni case
Le istruzioni case possono essere usate per l'esecuzione con diramazioni, come un'istruzione switch.
Sintassi:
CASE
v
WHENt[1]
THENr[1]
WHENt[2]
THENr[2]
... WHENt[n]
THENr[n]
ELSEr[e]
END
L'espressione
viene valutata e confrontata per verificare la corrispondenza con il valore v
di ogni espressione t[i]
WHEN
. Se viene trovata una corrispondenza, la clausola
diventa il risultato dell'istruzione r[i]
CASE
. Le clausole WHEN
vengono valutate in ordine, cosicché, in caso di più di una clausola di corrispondenza, il risultato della prima clausola di corrispondenza diventi il risultato dell'istruzione CASE
. Se non ci sono corrispondenze, il risultato è il
della clausola r[e]
ELSE
. Se non c'è corrispondenza e nessuna clausola ELSE
, il risultato è Undefined
.
Le istruzioni CASE
richiedono almeno una clausola WHEN
. Una clausola ELSE
è facoltativa.
Ad esempio:
Payload in ingresso pubblicato nell'argomento topic/subtopic
:
{ "color":"yellow" }
Istruzione SQL:
SELECT CASE color WHEN 'green' THEN 'go' WHEN 'yellow' THEN 'caution' WHEN 'red' THEN 'stop' ELSE 'you are not at a stop light' END as instructions FROM 'topic/subtopic'
Il payload in uscita risultante sarebbe:
{ "instructions":"caution" }
Nota
Se
è v
Undefined
, il risultato dell'istruzione del caso è Undefined
.