SQL 引擎的資料類型支援 - AWS Clean Rooms

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

SQL 引擎的資料類型支援

AWS Clean Rooms 支援多個 SQL 引擎和方言。了解這些實作的資料類型系統對於成功的資料協作和分析至關重要。下表顯示 AWS Clean Rooms SQL、Snowflake SQL 和 Spark SQL 之間的同等資料類型。

數值資料類型

數值類型代表各種類型的數字,從精確整數到近似浮點值。數值類型的選擇會影響儲存需求和運算精確度。整數類型因位元組大小而異,而小數和浮點類型提供不同的精確度和縮放選項。

資料類型 AWS Clean Rooms SQL Snowflake SQL Spark SQL 說明
8 位元組整數 BIGINT 不支援 BIGINT、LONG 從 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的帶正負號整數。
4 位元組整數 INT 不支援 INT、INTEGER 從 -2,147,483,648 到 2,147,483,647 的帶正負號整數
2 位元組整數 SMALLINT 不支援 SMALLINT,簡短 從 -32,768 到 32,767 的帶正負號整數
1 位元組整數 不支援 不支援 TINYINT、BYTE 從 -128 到 127 的帶正負號整數
雙精確度浮點數 雙精度、雙精度 FLOAT, FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL DOUBLE 8 位元組雙精度浮點數
單一精確度浮點數 REAL、FLOAT 不支援 FLOAT 4 位元組單精度浮點數
小數 (固定精確度) DECIMAL DECIMAL、NUMERIC、NUMBER
注意

Snowflake 會自動將較小寬度的確切數值類型 (INT、BIGINT、SMALLINT 等) 別名為 NUMBER。

DECIMAL、NUMERIC、 任意精確度帶正負號的小數位數
小數 (含精確度) DECIMAL(p) DECIMAL(p)、NUMBER(p) DECIMAL(p) 固定精確度小數位數
小數 (使用擴展) DECIMAL(p,s) DECIMAL(p,s)、NUMBER(p,s) DECIMAL(p,s) 具有擴展的固定精確度小數位數

布林值資料類型

布林值類型代表簡單的 true/false 邏輯值。這些類型在 SQL 引擎之間是一致的,通常用於旗標、條件和邏輯操作。

資料類型 AWS Clean Rooms SQL Snowflake SQL Spark SQL 說明
Boolean BOOLEAN BOOLEAN BOOLEAN 代表 true/false 值

日期和時間資料類型

日期和時間類型處理時間資料,精確度和時區感知程度各不相同。這些類型支援儲存日期、時間和時間戳記的不同格式,包括或排除時區資訊的選項。

資料類型 AWS Clean Rooms SQL Snowflake SQL Spark SQL 說明
日期 DATE DATE DATE 不含時區的日期值 (年、月、日)
時間 TIME 不支援 不支援 UTC 中的當日時間,不含時區
使用 TZ 的時間 TIMETZ 不支援 不支援 UTC 中的當日時間,含時區
時間戳記 TIMESTAMP TIMESTAMP、TIMESTAMP_NTZ TIMESTAMP_NTZ 不含時區的時間戳記
注意

NTZ 表示「無時區」

使用 TZ 的時間戳記 TIMESTAMPTZ TIMESTAMP_LTZ TIMESTAMP、TIMESTAMP_LTZ 具有本機時區的時間戳記
注意

LTZ 表示「當地時區」

字元資料類型

字元類型可存放文字資料,同時提供固定長度和可變長度選項。這些類型會處理文字字串和二進位資料,並搭配選用的長度規格來控制儲存配置。

資料類型 AWS Clean Rooms SQL Snowflake SQL Spark SQL 說明
固定長度字元 CHAR CHAR、CHARACTER CHAR、CHARACTER 固定長度的字元字串
長度為 的固定長度字元 CHAR(n) CHAR(n), CHARACTER(n) CHAR(n), CHARACTER(n) 指定長度的固定長度字元字串
可變長度字元 VARCHAR VARCHAR、STRING、TEXT VARCHAR、STRING 可變長度字元字串
可變長度字元與長度 VARCHAR(n) VARCHAR(n)、STRING(n)、TEXT(n) VARCHAR(n) 具有長度限制的可變長度字元字串
二進位 VARBYTE BINARY、VARBINARY BINARY 二進位位元組序列
具有長度的二進位 VARBYTE(n) 不支援 不支援 具有長度限制的二進位位元組序列

結構化資料類型

結構化類型可將多個值合併為單一欄位,以允許複雜的資料組織。這些包括排序集合的陣列、索引鍵/值對的映射,以及使用具名欄位建立自訂資料結構的結構。

資料類型 AWS Clean Rooms SQL Snowflake SQL Spark SQL 說明
陣列 ARRAY<type> ARRAY(類型) ARRAY<type> 相同類型的元素順序
注意

陣列類型必須包含相同類型的元素

Map MAP<key,value> MAP(索引鍵、值) MAP<key,value> 鍵值對的集合
注意

映射類型必須包含相同類型的元素

Struct STRUCT< field1: type1, field2: type2> OBJECT( field1 type1, field2 type2 ) STRUCT< field1: type1, field2: type2 > 具有指定類型之具名欄位的結構
注意

結構式類型語法在實作之間可能略有不同

超級 SUPER 不支援 不支援 彈性類型支援所有資料類型,包括複雜類型