本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
資料類型
AWS IoT 規則引擎支援所有 JSON 資料類型。
Type | 意義 |
---|---|
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 嘗試解析匹配正則表達式的字符串:^-?\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 嘗試解析匹配正則表達式的字符串:^-?\d+(\.\d+)?((?i)E-?\d+)?$ 。「0」,「-1.2」,「5E-12」都是自動轉換為 Decimal s 的字符串示例。 AWS IoT 嘗試將其轉換為 aDecimal ,然後截斷該String 字符串的小數位以創建。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 . |
未定義 | 未定義。 |