Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Case-Anweisungen
Case-Anweisungen können zum Branchen verwendet werden, wie etwa eine switch-Anweisung.
Syntax:
CASE
v
WHENt[1]
THENr[1]
WHENt[2]
THENr[2]
... WHENt[n]
THENr[n]
ELSEr[e]
END
Der Ausdruck
wird ausgewertet und die Übereinstimmung mit dem Wert jeder v
-Klausel abgeglichen. t[i]
WHEN
Bei einer Übereinstimmung wird der entsprechende
-Ausdruck zum Ergebnis der r[i]
CASE
-Anweisung. Die WHEN
-Klauseln werden der Reihe nach ausgewertet, sodass, wenn es mehr als eine übereinstimmende Klausel gibt, das Ergebnis der ersten übereinstimmenden Klausel zum Ergebnis der CASE
-Anweisung wird. Wenn es keine Treffer gibt, ist
derr[e]
ELSE
Klausel das Ergebnis. Wenn es keine Übereinstimmung und keine ELSE
-Klausel gibt, ist das Ergebnis Undefined
.
Für CASE
-Anweisungen ist mindestens eine WHEN
-Klausel erforderlich. Eine ELSE
-Klausel ist optional.
Beispielsweise:
Eingehende Nutzlast veröffentlicht für Topic topic/subtopic
:
{ "color":"yellow" }
SQL-Anweisung:
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'
Die resultierende Ausgabenutzlast ist:
{ "instructions":"caution" }
Anmerkung
Wenn v
Undefined
ist, ist das Ergebnis der Case-Anweisung Undefined
.