

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

# Amazon Athena 中的資料類型
<a name="data-types"></a>

當您執行 `CREATE TABLE` 時，您需指定資料欄名稱和每個資料欄可包含的資料類型。您建立的資料表會存放在 AWS Glue Data Catalog中。

為了促進與其他查詢引擎的互通性，Athena 會對 DDL 陳述式 (例如 `CREATE TABLE`) 使用 [Apache Hive](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types) 資料類型名稱。對於 `SELECT`、`CTAS` 和 `INSERT INTO` 等 DML 查詢，Athena 會使用 [Trino](https://trino.io/docs/current/language/types.html) 資料類型名稱。下列資料表會顯示 Athena 支援的資料類型。當 DDL 和 DML 類型在名稱、可用性或語法等方面有所不同時，它們會顯示在不同的資料欄中。


****  


- **BOOLEAN**
  - **DML:** 值為 true 和 false。

- **TINYINT**
  - **DML:** 以兩的補數格式表示的 8 位元的有號整數，最小值為 -27，而最大值為 27-1。

- **SMALLINT**
  - **DML:** 以兩的補數格式表示的 16 位元的有號整數，最小值為 -215，而最大值為 215-1。

- **INT、INTEGER**
  - **DML:** 以兩的補數格式表示的 32 位元的有號值，最小值為 -231，最大值為 231-1。

- **BIGINT**
  - **DML:**  以兩的補數格式表示的 64 位元的有號整數，最小值為 -263，而最大值為 263-1。

- **FLOAT**
  - **DML:** REAL
  - **Description:** 32 位元單精度浮點數。範圍為 1.40129846432481707e-45 到 3.40282346638528860e\+38，正負值皆包含。遵循浮點數運算的 IEEE 標準 (IEEE 754)。

- **DOUBLE**
  - **DML:** 64 位元雙精度浮點數。範圍為 4.94065645841246544e-324d 到 1.79769313486231570e\+308d，正負值皆包含。遵循浮點數運算的 IEEE 標準 (IEEE 754)。

- **DECIMAL({{precision}}, {{scale}})**
  - **DML:** {{precision}} 是位數的總數。{{scale}}（選用） 是分數部分中的位數，預設值為 0。例如，使用這些類型定義：decimal(11,5)、decimal(15)。最大{{精確度}}為 38，而最大{{擴展}}值為 38。

- **CHAR, CHAR({{length}})**
  - **DML:**  固定長度的字元資料，介於 1 到 255 的指定長度，例如 char(10)。如果指定{{長度}}，讀取字串時，會以指定的長度進行截斷。如果基礎資料字串較長，則基礎資料字串會維持不變。 如需詳細資訊，請參閱 [CHAR Hive 資料類型](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-char)。 

- **STRING**
  - **DML:** VARCHAR
  - **Description:** 變數長度字元資料。

- **VARCHAR({{length}})**
  - **DML:** 讀取長度上限的可變長度字元資料。讀取字串時，會以指定的長度進行截斷。如果基礎資料字串較長，則基礎資料字串會維持不變。

- **BINARY**
  - **DML:** VARBINARY
  - **Description:** 可變長度二進位資料。

- **不適用**
  - **DML:** TIME
  - **Description:** 一天中的某個時間 (具有毫秒精確度)。

- **不適用**
  - **DML:** TIME({{precision}})
  - **Description:** 一天中的某個時間 (具有特定精確度)。TIME(3) 等於 TIME。

- **不適用**
  - **DML:** TIME WITH TIME ZONE
  - **Description:** 一天中的某個時間 (時區)。時區應指定為 UTC 的位移。

- **DATE**
  - **DML:** 包含年、月和日的行事曆日期。

- **TIMESTAMP**
  - **DML:** TIMESTAMP, TIMESTAMP WITHOUT TIME ZONE
  - **Description:** 行事曆日期和一天中的某個時間 (具有毫秒精確度)。

- **不適用**
  - **DML:** TIMESTAMP({{precision}}), TIMESTAMP({{precision}}) WITHOUT TIME ZONE
  - **Description:** 行事曆日期和一天中的某個時間 (具有特定精確度)。TIMESTAMP(3) 等於 TIMESTAMP。

- **不適用**
  - **DML:** TIMESTAMP WITH TIME ZONE
  - **Description:** 行事曆日期和時間 (時區)。時區可以指定為 UTC 的位移，也可以指定為 IANA 時區名稱，或使用 UTC、UT、Z 或 GMT。

- **不適用**
  - **DML:** TIMESTAMP({{precision}}) WITH TIME ZONE
  - **Description:** 行事曆日期和一天中的某個時間 (具有特定精確度)，時區。

- **不適用**
  - **DML:** INTERVAL YEAR TO MONTH
  - **Description:** 一或多個完整月份間的間隔

- **不適用**
  - **DML:** INTERVAL DAY TO SECOND
  - **Description:** 一或數秒、分鐘、小時或天的間隔

- **ARRAY<{{element\_type}}>**
  - **DML:** ARRAY[{{element\_type}}]
  - **Description:** 值陣列。所有值必須是相同資料類型。

- **MAP<{{key\_type}}, {{value\_type}}>**
  - **DML:** MAP({{key\_type}}, {{value\_type}})
  - **Description:** 可依索引鍵查詢值的地圖。所有索引鍵都必須是相同的資料類型，且所有值都必須是相同的資料類型。例如 map<string, integer>。

- **STRUCT<{{field\_name\_1}}:{{field\_type\_1}}, {{field\_name\_2}}:{{field\_type\_2}}, …>**
  - **DML:** ROW({{field\_name\_1}} {{field\_type\_1}}, {{field\_name\_2}} {{field\_type\_2}}, …)
  - **Description:** 具有具名欄位及其值的資料結構。

- **不適用**
  - **DML:** JSON
  - **Description:** JSON 值類型，可以是 JSON 物件、JSON 陣列、JSON 數字、JSON 字串、true、false 或 null。

- **不適用**
  - **DML:** UUID
  - **Description:** UUID (通用唯一識別碼)。

- **不適用**
  - **DML:** IPADDRESS
  - **Description:** IPv4 或 IPv6 位址。

- **不適用**
  - **DML:**
    - [HyperLogLog](https://trino.io/docs/current/language/types.html#hyperloglog-type)
    - [P4HyperLogLog](https://trino.io/docs/current/language/types.html#p4hyperloglog)
    - [SetDigest](https://trino.io/docs/current/language/types.html#setdigest)
    - [QDigest](https://trino.io/docs/current/language/types.html#quantile-digest)
    - [TDigest](https://trino.io/docs/current/language/types.html#t-digest)
  - **Description:** 這些資料類型支援近似函式內部。如需有關每個類型的詳細資訊，請造訪 Trino 文件中對應項目的連結。



**Topics**
+ [資料類型範例](data-types-examples.md)
+ [資料類型的考量事項](data-types-considerations.md)
+ [使用時間戳記資料](data-types-timestamps.md)