

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

# Jenis Data
<a name="iot-sql-data-types"></a>

Mesin AWS IoT aturan mendukung semua tipe data JSON.


**Jenis data yang didukung**  

| Tipe | Arti | 
| --- | --- | 
| Int | Sebuah diskritInt. Maksimum 34 digit. | 
| Decimal |  A `Decimal` dengan presisi 34 digit, dengan magnitudo bukan nol minimum 1E-999 dan magnitudo maksimum 9, 999... E999.  Beberapa fungsi mengembalikan `Decimal` nilai dengan presisi ganda daripada presisi 34 digit.  Dengan SQL V2 (2016-03-23), nilai numerik yang merupakan bilangan bulat, seperti`10.0`, diproses sebagai nilai (), bukan `Int` nilai yang diharapkan (`10`). `Decimal` `10.0` Untuk memproses nilai numerik bilangan bulat secara andal sebagai `Decimal` nilai, gunakan SQL V1 (2015-10-08) untuk pernyataan kueri aturan.   | 
| Boolean | True atau False. | 
| String | Rangkaian UTF-8. | 
| Array | Serangkaian nilai yang tidak harus memiliki tipe yang sama. | 
| Object | Nilai JSON yang terdiri dari kunci dan nilai. Kunci harus berupa string. Nilai dapat berupa jenis apa saja. | 
| Null | NullSeperti yang didefinisikan oleh JSON. Ini adalah nilai aktual yang mewakili tidak adanya nilai. Anda dapat secara eksplisit membuat Null nilai dengan menggunakan Null kata kunci dalam pernyataan SQL Anda. Misalnya: "SELECT NULL AS n FROM 'topic/subtopic'"  | 
| Undefined |  Bukan nilai. Ini tidak dapat direpresentasikan secara eksplisit di JSON kecuali dengan menghilangkan nilainya. Misalnya, dalam objek`{"foo": null}`, kunci “foo” mengembalikan NULL, tetapi kunci “bar” kembali. `Undefined` Secara internal, bahasa SQL memperlakukan `Undefined` sebagai nilai, tetapi tidak dapat direpresentasikan dalam JSON, jadi ketika diserialkan ke JSON, hasilnya adalah. `Undefined` <pre> {"foo":null, "bar":undefined} </pre> diserialisasikan ke JSON sebagai: <pre> {"foo":null}</pre> Demikian pula, `Undefined` dikonversi ke string kosong ketika diserialisasikan dengan sendirinya. Fungsi yang dipanggil dengan argumen yang tidak valid (misalnya, jenis yang salah, jumlah argumen yang salah, dan sebagainya) kembali. `Undefined`   | 

## Konversi
<a name="iot-sql-conversions"></a>

Tabel berikut mencantumkan hasil ketika nilai dari satu jenis dikonversi ke jenis lain (ketika nilai dari jenis yang salah diberikan ke fungsi). Misalnya, jika fungsi nilai absolut “abs” (yang mengharapkan `Int` atau`Decimal`) diberikan a`String`, ia mencoba mengonversi `String` ke a`Decimal`, mengikuti aturan ini. Dalam hal ini, 'abs (“-5.123") 'diperlakukan sebagai 'abs (-5.123)'.

**catatan**  
Tidak ada upaya konversi ke`Array`,, `Object``Null`, atau. `Undefined`


**Untuk desimal**  

| Jenis Argumen | Hasil | 
| --- | --- | 
| Int | A Decimal tanpa titik desimal. | 
| Decimal | Nilai sumbernya. | 
| Boolean | Undefined. (Anda dapat secara eksplisit menggunakan fungsi cast untuk mengubah true = 1.0, false = 0.0.) | 
| String | Mesin SQL mencoba mengurai string sebagai file. Decimal AWS IoT mencoba mengurai string yang cocok dengan ekspresi reguler:. ^-?\$1d\$1(\$1.\$1d\$1)?((?i)E-?\$1d\$1)?\$1 “0", “-1.2", “5E-12" adalah semua contoh string yang dikonversi secara otomatis ke s. Decimal | 
| Susunan | Undefined. | 
| Objek | Undefined. | 
| Null | Null. | 
| Tidak terdefinisi | Undefined. | 


**Untuk int**  

| Jenis Argumen | Hasil | 
| --- | --- | 
| Int | Nilai sumbernya. | 
| Decimal | Nilai sumber dibulatkan ke yang terdekatInt. | 
| Boolean | Undefined. (Anda dapat secara eksplisit menggunakan fungsi cast untuk mengubah true = 1.0, false = 0.0.) | 
| String |  Mesin SQL mencoba mengurai string sebagai file. Decimal AWS IoT mencoba mengurai string yang cocok dengan ekspresi reguler:. ^-?\$1d\$1(\$1.\$1d\$1)?((?i)E-?\$1d\$1)?\$1 “0", “-1.2", “5E-12" adalah semua contoh string yang dikonversi secara otomatis menjadi Decimal s. AWS IoT mencoba mengonversi String ke aDecimal, dan kemudian memotong tempat desimal untuk membuat. Decimal Int | 
| Susunan | Undefined. | 
| Objek | Undefined. | 
| Null | Null. | 
| Tidak terdefinisi | Undefined. | 


**Untuk Boolean**  

| Jenis Argumen | Hasil | 
| --- | --- | 
| Int | Undefined. (Anda dapat secara eksplisit menggunakan cast fungsi untuk mengubah 0 = False, any\$1nonzero\$1value = True.) | 
| Decimal | Undefined. (Anda dapat secara eksplisit menggunakan fungsi cast untuk mengubah 0 = False, any\$1nonzero\$1value = True.) | 
| Boolean | Nilai aslinya. | 
| String | “True"=true dan “false"=false (case insensitive). Nilai string lainnya adalahUndefined. | 
| Susunan | Undefined. | 
| Objek | Undefined. | 
| Null | Undefined. | 
| Tidak terdefinisi | Undefined. | 


**Untuk string**  

| Jenis Argumen | Hasil | 
| --- | --- | 
| Int | Sebuah representasi string dari Int dalam notasi standar. | 
| Decimal | String yang mewakili Decimal nilai, mungkin dalam notasi ilmiah.  | 
| Boolean | “benar” atau “salah”. Semua huruf kecil. | 
| String | Nilai aslinya. | 
| Array | ArraySerial ke JSON. String yang dihasilkan adalah daftar yang dipisahkan koma, terlampir dalam tanda kurung siku. A String dikutip. ADecimal,Int,Boolean, dan Null tidak. | 
| Objek | Objek diserialisasikan ke JSON. String yang dihasilkan adalah daftar pasangan kunci-nilai yang dipisahkan koma dan dimulai dan diakhiri dengan kurawal kurawal. A String dikutip. ADecimal,Int,Boolean, dan Null tidak. | 
| Null | Undefined. | 
| Tidak terdefinisi | Tidak terdefinisi. | 