AWS IoT
開発者ガイド

Case ステートメント

CASE ステートメントを使用して、スイッチステートメントまたは if/else ステートメントなど、実行のブランチができます。

構文:

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 式は評価され、各 t[i] 式に対して等価比較されます。一致がある場合は、対応する r[i] 式が CASE ステートメントの結果になります。2 つ以上の一致の可能性がある場合、最初の一致が選択されます。一致が検出されない場合、else ステートメントの re が結果として使用されます。一致が検出されず、else ステートメントもない場合、CASE ステートメントの結果は Undefined です。次に例を示します。

トピックに公開された受信ペイロード a/b: {"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 'a/b'

結果の出力ペイロードは次のとおりです: {"instructions":"caution"}

CASE ステートメントには少なくとも 1 つの WHEN 句が必要です。ELSE 句は不要です。

注記

v が Undefined の場合、CASE ステートメントの結果は Undefined です。