本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
資料類型
AWS IoT 規則引擎支援所有 JSON 資料類型。
| 類型 | 意義 |
|---|---|
Int |
離散的 Int。最多 34 位數。 |
Decimal |
精度為 34 位的 注意有些函數傳回的 使用 SQL V2 (2016-03-23) 時,數值若為整數 (例如 |
Boolean |
True 或 False |
String |
UTF-8 字串。 |
Array |
一系列類型無需相同的值。 |
Object |
由鍵和值組成的 JSON 值。鍵必須為字串。值可以為任何類型。 |
Null |
Null 是由 JSON 定義。此為用來代表缺少某個值的實際值。您可以在 SQL 陳述式中使用 Null 的關鍵字來明確建立 Null 的值。例如:"SELECT NULL AS n FROM
'topic/subtopic'" |
Undefined |
並非值。無法以 JSON 明確顯示,除非是省略該值。舉例而言,在物件
序列化為 JSON 如下:
同樣地, |
轉換
下表列出的是當某個類型的值轉換為另一種類型 (給函數指定錯誤類型的值) 所得的結果。舉例而言,如果絕對值的函數「abs」(預期為 Int或 Decimal) 得到的是 String,其會嘗試按照下列規則將 String 轉換為 Decimal。此例中,'abs("-5.123")' 會視為 'abs(-5.123)'。
注意
不會企圖轉換為 Array、Object、Null、Undefined。
| 引數類型 | 結果 |
|---|---|
Int |
無小數點的 Decimal。 |
Decimal |
來源值。 |
Boolean |
Undefined。(您可以明確使用 Cast 函數轉換 true = 1.0、false = 0.0。) |
String |
SQL 引擎會嘗試將字串剖析為 Decimal. AWS IoT attempts,以剖析符合規則表達式的字串:^-?\d+(\.\d+)?((?i)E-?\d+)?$。「0」、「-1.2」、「5E-12」均為自動轉換為 Decimal 的範例字串。 |
| Array | Undefined. |
| 物件 | Undefined. |
| Null | Null. |
| 未定義 | Undefined. |
| 引數類型 | 結果 |
|---|---|
Int |
來源值。 |
Decimal |
四捨五入到最接近 Int 的來源值。 |
Boolean |
Undefined。(您可以明確使用 Cast 函數轉換 true = 1.0、false = 0.0。) |
String |
SQL 引擎會嘗試將字串剖析為 Decimal. AWS IoT attempts,以剖析符合規則表達式的字串:^-?\d+(\.\d+)?((?i)E-?\d+)?$。"0"、"-1.2"、"5E-12" 是字串的所有範例,這些字串會自動轉換為 Decimals. AWS IoT attempts,以String將 轉換為 Decimal,然後截斷該字串的小數位Decimal數以製作 Int。 |
| Array | Undefined. |
| 物件 | Undefined. |
| Null | Null. |
| 未定義 | Undefined. |
| 引數類型 | 結果 |
|---|---|
Int |
Undefined。(您可以明確使用 cast 函數轉換 0 = False、any_nonzero_value = True。) |
Decimal |
Undefined。(您可以明確使用 Cast 函數轉換 0 = False、any_nonzero_value = True。) |
Boolean |
原始的值。 |
String |
「true」= True 而「false」= False (不區分大小寫)。其他字串值為 Undefined。 |
| Array | Undefined. |
| 物件 | Undefined. |
| Null | Undefined. |
| 未定義 | Undefined. |
| 引數類型 | 結果 |
|---|---|
Int |
以標準表示法表示的 Int 的字串顯示方式。 |
Decimal |
代表 Decimal 值的字串,可能是採取科學表示法。 |
Boolean |
「true」或「false」。所有小寫。 |
String |
原始的值。 |
| 陣列 | 序列化為 JSON 的 Array。該結果字串為以逗號分隔的清單,並包含在方括弧內。String 在括號中。Decimal、Int、Boolean 和 Null 則不是。 |
| 物件 | 序列化為 JSON 的物件。該結果字串為以逗號分隔的鍵值組清單,並以大括號為開頭和結尾。String 在括號中。Decimal、Int、Boolean 和 Null 則不是。 |
| Null | Undefined. |
| 未定義 | 未定義。 |