

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

# Operator
<a name="iot-sql-operators"></a>

Operator berikut dapat digunakan dalam klausa SELECT dan WHERE. 

## DAN operator
<a name="iot-sql-operators-and"></a>

Mengembalikan `Boolean` hasil. Melakukan operasi dan logis. Mengembalikan nilai true jika operan kiri dan kanan benar. Jika tidak, mengembalikan false. `Boolean`diperlukan operan atau operan string “true” atau “false” yang tidak peka huruf besar/kecil.

*Sintaks:*` expression AND expression`.


**DAN operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Boolean | Boolean | Boolean. Benar jika kedua operan benar. Kalau tidak, salah. | 
| String/Boolean | String/Boolean | Jika semua string “benar” atau “salah” (case insensitive), mereka dikonversi ke Boolean dan diproses secara normal sebagai. boolean AND boolean | 
| Nilai lainnya | Nilai lainnya | Undefined. | 

## ATAU operator
<a name="iot-sql-operators-or"></a>

Mengembalikan `Boolean` hasil. Melakukan operasi OR logis. Mengembalikan nilai true jika operan kiri atau kanan benar. Jika tidak, mengembalikan false. `Boolean`diperlukan operan atau operan string “true” atau “false” yang tidak peka huruf besar/kecil.

*Sintaks:*` expression OR expression`.


**ATAU operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Boolean | Boolean | Boolean. Benar jika salah satu operan benar. Kalau tidak, salah. | 
| String/Boolean | String/Boolean | Jika semua string “benar” atau “salah” (case insensitive), mereka dikonversi ke Boolean dan diproses secara normal sebagai. boolean OR boolean | 
| Nilai lainnya | Nilai lainnya | Undefined. | 

## BUKAN operator
<a name="iot-sql-operators-not"></a>

Mengembalikan `Boolean` hasil. Melakukan operasi NOT logis. Mengembalikan nilai true jika operan palsu. Jika tidak, mengembalikan true. Diperlukan `Boolean` operan atau operan string “true” atau “false” yang tidak peka huruf besar/kecil.

*Sintaks:*`NOT expression`.


**BUKAN operator**  

| operan | Output | 
| --- | --- | 
| Boolean | Boolean. Benar jika operan salah. Kalau tidak, benar. | 
| String | Jika string adalah “true” atau “false” (case insensitive), itu dikonversi ke nilai Boolean yang sesuai, dan nilai sebaliknya dikembalikan. | 
| Nilai lainnya | Undefined. | 

## Di operator
<a name="iot-sql-operators-in"></a>

Mengembalikan `Boolean` hasil. Anda dapat menggunakan operator IN dalam klausa WHERE untuk memeriksa apakah nilai cocok dengan nilai apa pun dalam array. Ia mengembalikan true jika kecocokan ditemukan, dan false sebaliknya.

*Sintaks:*` expression IN expression`.


**Di operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Int/Decimal/String/Array/Object | Array | Benar jika Object elemen IntegerDecimal/String/Array//ditemukan dalam array. Kalau tidak, salah. | 

*Contoh:*

```
SQL: "select * from 'a/b' where 3 in arr"

JSON: {"arr":[1, 2, 3, "three", 5.7, null]}
```

Dalam contoh ini, klausa kondisi `where 3 in arr` akan mengevaluasi ke true karena 3 hadir dalam array bernama`arr`. Oleh karena itu dalam pernyataan SQL, `select * from 'a/b'` akan mengeksekusi. Contoh ini juga menunjukkan bahwa array bisa heterogen.

## Operator EXISTS
<a name="iot-sql-operators-exists"></a>

Mengembalikan `Boolean` hasil. Anda dapat menggunakan operator EXISTS dalam klausa bersyarat untuk menguji keberadaan elemen dalam subquery. Ia mengembalikan true jika subquery mengembalikan satu atau lebih elemen dan false jika subquery mengembalikan tidak ada elemen. 

*Sintaks:*` expression`.

*Contoh:*

```
SQL: "select * from 'a/b' where exists (select * from arr as a where a = 3)"

JSON: {"arr":[1, 2, 3]}
```

Dalam contoh ini, klausa kondisi `where exists (select * from arr as a where a = 3)` akan mengevaluasi ke true karena 3 hadir dalam array bernama`arr`. Oleh karena itu dalam pernyataan SQL, `select * from 'a/b'` akan mengeksekusi.

*Contoh:*

```
SQL: select * from 'a/b' where exists (select * from e as e where foo = 2)

JSON: {"foo":4,"bar":5,"e":[{"foo":1},{"foo":2}]}
```

Dalam contoh ini, klausa kondisi `where exists (select * from e as e where foo = 2)` akan mengevaluasi ke true karena array `e` dalam objek JSON berisi objek. `{"foo":2}` Oleh karena itu dalam pernyataan SQL, `select * from 'a/b'` akan mengeksekusi.

## > operator
<a name="iot-sql-operators-greater"></a>

Mengembalikan `Boolean` hasil. Mengembalikan nilai true jika operan kiri lebih besar dari operan kanan. Kedua operan diubah menjadi a`Decimal`, dan kemudian dibandingkan. 

*Sintaks:*`expression > expression`.


**> operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Int/Decimal | Int/Decimal | Boolean. Benar jika operan kiri lebih besar dari operan kanan. Kalau tidak, salah. | 
| String/Int/Decimal | String/Int/Decimal | Jika semua string dapat dikonversi keDecimal, makaBoolean. Mengembalikan nilai true jika operan kiri lebih besar dari operan kanan. Kalau tidak, salah. | 
| Nilai lainnya | Undefined. | Undefined. | 

## >= operator
<a name="iot-sql-operators-greater-equal"></a>

Mengembalikan `Boolean` hasil. Mengembalikan nilai true jika operan kiri lebih besar dari atau sama dengan operan kanan. Kedua operan diubah menjadi a`Decimal`, dan kemudian dibandingkan. 

*Sintaks:*`expression >= expression`.


**>= operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Int/Decimal | Int/Decimal | Boolean. Benar jika operan kiri lebih besar dari atau sama dengan operan kanan. Kalau tidak, salah. | 
| String/Int/Decimal | String/Int/Decimal | Jika semua string dapat dikonversi keDecimal, makaBoolean. Mengembalikan nilai true jika operan kiri lebih besar dari atau sama dengan operan kanan. Kalau tidak, salah. | 
| Nilai lainnya | Undefined. | Undefined. | 

## < operator
<a name="iot-sql-operators-less"></a>

Mengembalikan `Boolean` hasil. Mengembalikan nilai true jika operan kiri kurang dari operan kanan. Kedua operan diubah menjadi a`Decimal`, dan kemudian dibandingkan. 

*Sintaks:*`expression < expression`.


**< operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Int/Decimal | Int/Decimal | Boolean. Benar jika operan kiri kurang dari operan kanan. Kalau tidak, salah. | 
| String/Int/Decimal | String/Int/Decimal | Jika semua string dapat dikonversi keDecimal, makaBoolean. Mengembalikan nilai true jika operan kiri kurang dari operan kanan. Kalau tidak, salah. | 
| Nilai lainnya | Undefined | Undefined | 

## <= operator
<a name="iot-sql-operators-less-equal"></a>

Mengembalikan `Boolean` hasil. Mengembalikan nilai true jika operan kiri kurang dari atau sama dengan operan kanan. Kedua operan diubah menjadi a`Decimal`, dan kemudian dibandingkan. 

*Sintaks:*`expression <= expression`.


**<= operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Int/Decimal | Int/Decimal | Boolean. Benar jika operan kiri kurang dari atau sama dengan operan kanan. Kalau tidak, salah. | 
| String/Int/Decimal | String/Int/Decimal | Jika semua string dapat dikonversi keDecimal, makaBoolean. Mengembalikan nilai true jika operan kiri kurang dari atau sama dengan operan kanan. Kalau tidak, salah. | 
| Nilai lainnya | Undefined | Undefined | 

## <> operator
<a name="iot-sql-operators-not-eq"></a>

Mengembalikan `Boolean` hasil. Mengembalikan nilai true jika operan kiri dan kanan tidak sama. Jika tidak, mengembalikan false. 

*Sintaks:*` expression <> expression`.


**<> operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Int | Int | Benar jika operan kiri tidak sama dengan operan kanan. Kalau tidak, salah. | 
| Decimal | Decimal | Benar jika operan kiri tidak sama dengan operan kanan. Kalau tidak, salah. Intdiubah menjadi Decimal sebelum dibandingkan. | 
| String | String | Benar jika operan kiri tidak sama dengan operan kanan. Kalau tidak, salah. | 
| Array | Array | Benar jika item di setiap operan tidak sama dan tidak dalam urutan yang sama. Jika tidak, salah | 
| Objek | Objek | Benar jika kunci dan nilai masing-masing operan tidak sama. Kalau tidak, salah. Urutan tidak keys/values penting. | 
| Null | Null | Salah. | 
| Nilai apa pun | Undefined | Tidak terdefinisi. | 
| Undefined | Nilai apa pun | Tidak terdefinisi. | 
| Tipe tidak cocok | Tipe tidak cocok | Benar. | 

## = operator
<a name="iot-sql-operators-eq"></a>

Mengembalikan `Boolean` hasil. Mengembalikan nilai true jika kedua operan kiri dan kanan sama. Jika tidak, mengembalikan false. 

*Sintaks:*` expression = expression`.


**= operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Int | Int | Benar jika operan kiri sama dengan operan kanan. Kalau tidak, salah. | 
| Decimal | Decimal | Benar jika operan kiri sama dengan operan kanan. Kalau tidak, salah. Intdiubah menjadi Decimal sebelum dibandingkan. | 
| String | String | Benar jika operan kiri sama dengan operan kanan. Kalau tidak, salah. | 
| Array | Array | Benar jika item di setiap operan sama dan dalam urutan yang sama. Kalau tidak, salah. | 
| Objek | Objek | Benar jika kunci dan nilai masing-masing operan sama. Kalau tidak, salah. Urutan tidak keys/values penting. | 
| Nilai apa pun | Undefined | Undefined. | 
| Undefined | Nilai apa pun | Undefined. | 
| Tipe tidak cocok | Tipe tidak cocok | Salah. | 

## \$1 operator
<a name="iot-sql-operators-plus"></a>

“\$1” adalah operator yang kelebihan beban. Ini dapat digunakan untuk penggabungan string atau penambahan. 

*Sintaks:*` expression + expression`.


**\$1 operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| String | Nilai apa pun | Mengkonversi operan kanan ke string dan menggabungkan itu ke akhir operan kiri. | 
| Nilai apa pun | String | Mengkonversi operan kiri ke string dan menggabungkan operan kanan ke akhir operan kiri dikonversi. | 
| Int | Int | Intnilai. Menambahkan operan bersama-sama. | 
| Int/Decimal | Int/Decimal | Decimalnilai. Menambahkan operan bersama-sama. | 
| Nilai lainnya | Nilai lainnya | Undefined. | 

## - operator
<a name="iot-sql-operators-sub"></a>

Mengurangi operan kanan dari operan kiri. 

*Sintaks:*` expression - expression`.


**- operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Int | Int | Intnilai. Mengurangi operan kanan dari operan kiri. | 
| Int/Decimal | Int/Decimal | Decimalnilai. Mengurangi operan kanan dari operan kiri. | 
| String/Int/Decimal | String/Int/Decimal | Jika semua string dikonversi ke desimal dengan benar, Decimal nilai dikembalikan. Mengurangi operan kanan dari operan kiri. Jika tidak, mengembalikan Undefined. | 
| Nilai lainnya | Nilai lainnya | Undefined. | 
| Nilai lainnya | Nilai lainnya | Undefined. | 

## \$1 operator
<a name="iot-sql-operators-mult"></a>

Mengalikan operan kiri dengan operan kanan. 

*Sintaks:*` expression * expression`.


**\$1 operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Int | Int | Intnilai. Mengalikan operan kiri dengan operan kanan. | 
| Int/Decimal | Int/Decimal | Decimalnilai. Mengalikan operan kiri dengan operan kanan. | 
| String/Int/Decimal | String/Int/Decimal | Jika semua string dikonversi ke desimal dengan benar, Decimal nilai dikembalikan. Mengalikan operan kiri dengan operan kanan. Jika tidak, mengembalikan Undefined. | 
| Nilai lainnya | Nilai lainnya | Undefined. | 

## /operator
<a name="iot-sql-operators-div"></a>

Membagi operan kiri dengan operan kanan. 

*Sintaks:*` expression / expression`.


**/operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Int | Int | Intnilai. Membagi operan kiri dengan operan kanan. | 
| Int/Decimal | Int/Decimal | Decimalnilai. Membagi operan kiri dengan operan kanan. | 
| String/Int/Decimal | String/Int/Decimal | Jika semua string dikonversi ke desimal dengan benar, Decimal nilai dikembalikan. Membagi operan kiri dengan operan kanan. Jika tidak, mengembalikan Undefined. | 
| Nilai lainnya | Nilai lainnya | Undefined. | 

## % operator
<a name="iot-sql-operators-mod"></a>

Mengembalikan sisanya dari membagi operan kiri dengan operan kanan. 

*Sintaks:*` expression % expression`.


**% operator**  

| Operan kiri | Operan kanan | Output | 
| --- | --- | --- | 
| Int | Int | Intnilai. Mengembalikan sisanya dari membagi operan kiri dengan operan kanan. | 
| String/Int/Decimal | String/Int/Decimal | Jika semua string dikonversi ke desimal dengan benar, Decimal nilai dikembalikan. Mengembalikan sisanya dari membagi operan kiri dengan operan kanan. Atau, Undefined. | 
| Nilai lainnya | Nilai lainnya | Undefined. | 