

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

# 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 類型在名稱、可用性或語法等方面有所不同時，它們會顯示在不同的資料欄中。


****  

<table>
<thead>
  <tr><th>DDL</th><th>DML</th><th>Description</th></tr>
</thead>
<tbody>
  <tr><td colspan="2">BOOLEAN</td><td>值為 true 和 false。</td></tr>
  <tr><td colspan="2">TINYINT</td><td>以兩的補數格式表示的 8 位元的有號整數，最小值為 -27，而最大值為 27-1。</td></tr>
  <tr><td colspan="2">SMALLINT</td><td>以兩的補數格式表示的 16 位元的有號整數，最小值為 -215，而最大值為 215-1。</td></tr>
  <tr><td colspan="2">INT、INTEGER</td><td>以兩的補數格式表示的 32 位元的有號值，最小值為 -231，最大值為 231-1。</td></tr>
  <tr><td colspan="2">BIGINT</td><td> 以兩的補數格式表示的 64 位元的有號整數，最小值為 -263，而最大值為 263-1。</td></tr>
  <tr><td>FLOAT</td><td>REAL</td><td>32 位元單精度浮點數。範圍為 1.40129846432481707e-45 到 3.40282346638528860e\+38，正負值皆包含。遵循浮點數運算的 IEEE 標準 (IEEE 754)。</td></tr>
  <tr><td colspan="2">DOUBLE</td><td>64 位元雙精度浮點數。範圍為 4.94065645841246544e-324d 到 1.79769313486231570e\+308d，正負值皆包含。遵循浮點數運算的 IEEE 標準 (IEEE 754)。</td></tr>
  <tr><td colspan="2">DECIMAL({{precision}}, {{scale}})</td><td>{{precision}} 是位數的總數。{{scale}}（選用） 是分數部分中的位數，預設值為 0。例如，使用這些類型定義：decimal(11,5)、decimal(15)。最大{{精確度}}為 38，而最大{{擴展}}值為 38。</td></tr>
  <tr><td colspan="2">CHAR, CHAR({{length}})</td><td>固定長度的字元資料，介於 1 到 255 的指定長度，例如 char(10)。如果指定{{長度}}，讀取字串時，會以指定的長度進行截斷。如果基礎資料字串較長，則基礎資料字串會維持不變。<br />如需詳細資訊，請參閱 [CHAR Hive 資料類型](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-char)。</td></tr>
  <tr><td>STRING</td><td>VARCHAR</td><td>變數長度字元資料。</td></tr>
  <tr><td colspan="2">VARCHAR({{length}})</td><td>讀取長度上限的可變長度字元資料。讀取字串時，會以指定的長度進行截斷。如果基礎資料字串較長，則基礎資料字串會維持不變。</td></tr>
  <tr><td>BINARY</td><td>VARBINARY</td><td>可變長度二進位資料。</td></tr>
  <tr><td>不適用</td><td>TIME</td><td>一天中的某個時間 (具有毫秒精確度)。</td></tr>
  <tr><td>不適用</td><td>TIME({{precision}})</td><td>一天中的某個時間 (具有特定精確度)。TIME(3) 等於 TIME。</td></tr>
  <tr><td>不適用</td><td>TIME WITH TIME ZONE</td><td>一天中的某個時間 (時區)。時區應指定為 UTC 的位移。</td></tr>
  <tr><td colspan="2">DATE</td><td>包含年、月和日的行事曆日期。</td></tr>
  <tr><td>TIMESTAMP</td><td>TIMESTAMP, TIMESTAMP WITHOUT TIME ZONE</td><td>行事曆日期和一天中的某個時間 (具有毫秒精確度)。</td></tr>
  <tr><td>不適用</td><td>TIMESTAMP({{precision}}), TIMESTAMP({{precision}}) WITHOUT TIME ZONE</td><td>行事曆日期和一天中的某個時間 (具有特定精確度)。TIMESTAMP(3) 等於 TIMESTAMP。</td></tr>
  <tr><td>不適用</td><td>TIMESTAMP WITH TIME ZONE</td><td>行事曆日期和時間 (時區)。時區可以指定為 UTC 的位移，也可以指定為 IANA 時區名稱，或使用 UTC、UT、Z 或 GMT。</td></tr>
  <tr><td>不適用</td><td>TIMESTAMP({{precision}}) WITH TIME ZONE</td><td>行事曆日期和一天中的某個時間 (具有特定精確度)，時區。</td></tr>
  <tr><td>不適用</td><td>INTERVAL YEAR TO MONTH</td><td>一或多個完整月份間的間隔</td></tr>
  <tr><td>不適用</td><td>INTERVAL DAY TO SECOND</td><td>一或數秒、分鐘、小時或天的間隔</td></tr>
  <tr><td>ARRAY<{{element\_type}}></td><td>ARRAY[{{element\_type}}]</td><td>值陣列。所有值必須是相同資料類型。</td></tr>
  <tr><td>MAP<{{key\_type}}, {{value\_type}}></td><td>MAP({{key\_type}}, {{value\_type}})</td><td>可依索引鍵查詢值的地圖。所有索引鍵都必須是相同的資料類型，且所有值都必須是相同的資料類型。例如 map<string, integer>。</td></tr>
  <tr><td>STRUCT<{{field\_name\_1}}:{{field\_type\_1}}, {{field\_name\_2}}:{{field\_type\_2}}, …></td><td>ROW({{field\_name\_1}} {{field\_type\_1}}, {{field\_name\_2}} {{field\_type\_2}}, …)</td><td>具有具名欄位及其值的資料結構。</td></tr>
  <tr><td>不適用</td><td>JSON</td><td>JSON 值類型，可以是 JSON 物件、JSON 陣列、JSON 數字、JSON 字串、true、false 或 null。</td></tr>
  <tr><td>不適用</td><td>UUID</td><td>UUID (通用唯一識別碼)。</td></tr>
  <tr><td>不適用</td><td>IPADDRESS</td><td>IPv4 或 IPv6 位址。</td></tr>
  <tr><td rowspan="5">不適用</td><td>[HyperLogLog](https://trino.io/docs/current/language/types.html#hyperloglog-type)</td><td rowspan="5">這些資料類型支援近似函式內部。如需有關每個類型的詳細資訊，請造訪 Trino 文件中對應項目的連結。</td></tr>
  <tr><td>[P4HyperLogLog](https://trino.io/docs/current/language/types.html#p4hyperloglog)</td></tr>
  <tr><td>[SetDigest](https://trino.io/docs/current/language/types.html#setdigest)</td></tr>
  <tr><td>[QDigest](https://trino.io/docs/current/language/types.html#quantile-digest)</td></tr>
  <tr><td>[TDigest](https://trino.io/docs/current/language/types.html#t-digest)</td></tr>
</tbody>
</table>


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