案例陳述式 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

案例陳述式

可用於分支執行的案例陳述式,例如切換陳述式。

語法:

CASE v WHEN t[1] THEN r[1] WHEN t[2] THEN r[2] ... WHEN t[n] THEN r[n] ELSE r[e] END

表達式 v 會受到評估並對每個 WHEN 子句的 t[i] 值配對是否相等。如果找到匹配的結果,相對應的 r[i] 表達式會成為該 CASE 陳述式的結果。此 WHEN 子句會按順序進行評估,以便如果有多個符合子句,則第一個符合子句的結果會成為 CASE 陳述式的結果。如果沒有相符項目,ELSE 子句的 r[e] 即為結果。如果沒有相符項目,也沒有 ELSE 子句,則結果即為 Undefined

CASE 陳述式會要求至少一個 WHEN 子句。ELSE 子句是選用的。

例如:

發佈在主題 topic/subtopic 的傳入承載:

{ "color":"yellow" }

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'

產生的輸出承載為:

{ "instructions":"caution" }
注意

如果 vUndefined,則案例陳述式的結果為 Undefined