Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Instructions Case
Les instructions case peuvent être utilisées pour l’exécution de branche, comme une instruction switch.
Syntaxe :
CASE
v
WHENt[1]
THENr[1]
WHENt[2]
THENr[2]
... WHENt[n]
THENr[n]
ELSEr[e]
END
L’expression
est évaluée et fait l’objet d’une comparaison d’égalité avec la valeur v
de chaque clause t[i]
WHEN
. Si une correspondance est trouvée, l’expression
correspondante devient le résultat de l’instruction r[i]
CASE
. Les clauses WHEN
sont évaluées de telle sorte que s’il existe plusieurs clauses correspondantes, le résultat de la première clause correspondante devient le résultat de l’instruction CASE
. S’il n’y a aucune correspondance, le résultat
de la clause r[e]
ELSE
est le résultat. S’il n’y a ni correspondance ni clause ELSE
, le résultat est Undefined
.
Les instructions CASE
requièrent au moins une clause WHEN
. Une clause ELSE
est facultative.
Par exemple :
Charge utile entrante publiée dans une rubrique topic/subtopic
:
{ "color":"yellow" }
Instruction 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'
La charge utile de sortie serait :
{ "instructions":"caution" }
Note
Si
est v
Undefined
, le résultat de l’instruction case est Undefined
.