

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pernyataan kasus
<a name="iot-sql-case"></a>

Pernyataan kasus dapat digunakan untuk eksekusi percabangan, seperti pernyataan switch.

Sintaksis:

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

Ekspresi *`v`* dievaluasi dan dicocokkan untuk kesetaraan terhadap *`t[i]`* nilai masing-masing klausa. `WHEN` Jika kecocokan ditemukan, *`r[i]`* ekspresi yang sesuai menjadi hasil `CASE` pernyataan. `WHEN`Klausa dievaluasi secara berurutan sehingga jika ada lebih dari satu klausa yang cocok, hasil klausa pencocokan pertama menjadi hasil pernyataan. `CASE` Jika tidak ada kecocokan, *`r[e]`* dari `ELSE` klausa adalah hasilnya. Jika tidak ada kecocokan dan tidak ada `ELSE` klausa, hasilnya adalah`Undefined`.

`CASE`pernyataan membutuhkan setidaknya satu `WHEN` klausa. Sebuah `ELSE` klausa adalah opsional.

Contoh:

Payload masuk dipublikasikan pada topik: `topic/subtopic`

```
{
    "color":"yellow"
}
```

Pernyataan 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'
```

Muatan keluaran yang dihasilkan adalah:

```
{
    "instructions":"caution"
}
```

**catatan**  
Jika *`v`* ya`Undefined`, hasil dari pernyataan kasus adalah`Undefined`.