選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

資料類型

焦點模式
資料類型 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS IoT 規則引擎支援所有 JSON 資料類型。

支援的資料類型
Type 意義
Int 離散的 Int。最多 34 位數。
Decimal

精度為 34 位的 Decimal,最小非零量級為 1E-999,最大量級為 9.999…E999。

注意

有些函數傳回的 Decimal 值為雙精度,而非 34 位數的精度。

使用 SQL V2 (2016-03-23) 時,數值若為整數 (例如 10.0) 會被當成 Int 值 (10) 處理,而不是預期的 Decimal 值 (10.0)。若要可靠地將整數數值當成 Decimal 值處理,請針對規則查詢陳述式使用 SQL V1 (2015-10-08)。

Boolean TrueFalse
String UTF-8 字串。
Array 一系列類型無需相同的值。
Object 由鍵和值組成的 JSON 值。鍵必須為字串。值可以為任何類型。
Null Null 是由 JSON 定義。此為用來代表缺少某個值的實際值。您可以在 SQL 陳述式中使用 Null 的關鍵字來明確建立 Null 的值。例如:"SELECT NULL AS n FROM 'topic/subtopic'"
Undefined

並非值。無法以 JSON 明確顯示,除非是省略該值。舉例而言,在物件 {"foo": null} 中,「foo」鍵會傳回 NULL,但「bar」鍵傳回 Undefined。SQL 語言在內部將 Undefined 視為一個值,但無法以 JSON 顯示,因此序列化為 JSON 時,結果會是 Undefined

{"foo":null, "bar":undefined}

序列化為 JSON 如下:

{"foo":null}

同樣地,Undefined 由自身序列化時,會轉換為空白字串。以無效引數 (例如,錯誤類型、錯誤的引數數量等等) 呼叫的函數會傳回 Undefined

轉換

下表列出的是當某個類型的值轉換為另一種類型 (給函數指定錯誤類型的值) 所得的結果。舉例而言,如果絕對值的函數「abs」(預期為 IntDecimal) 得到的是 String,其會嘗試按照下列規則將 String 轉換為 Decimal。此例中,'abs("-5.123")' 會視為 'abs(-5.123)'。

注意

不會企圖轉換為 ArrayObjectNullUndefined

To Decimal
引數類型 結果
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.
To Int
引數類型 結果
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.
To Boolean
引數類型 結果
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.
To String
引數類型 結果
Int 以標準表示法表示的 Int 的字串顯示方式。
Decimal 代表 Decimal 值的字串,可能是採取科學表示法。
Boolean 「true」或「false」。所有小寫。
String 原始的值。
陣列 序列化為 JSON 的 Array。該結果字串為以逗號分隔的清單,並包含在方括弧內。String 在括號中。DecimalIntBooleanNull 則不是。
物件 序列化為 JSON 的物件。該結果字串為以逗號分隔的鍵值組清單,並以大括號為開頭和結尾。String 在括號中。DecimalIntBooleanNull 則不是。
Null Undefined.
未定義 未定義。

在本頁面

下一個主題:

運算子

上一個主題:

WHERE 子句
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。