全部產品
Search
文件中心

ApsaraDB for ClickHouse:資料類型

更新時間:Jun 30, 2024

本文描述雲資料庫ClickHouse的資料類型。

資料類型列表

ClickHouse完整資料類型介紹,請參考開源官方資料類型介紹

分類

關鍵字

資料類型

取值/取值範圍

整數類型

Int8

Int8

取值範圍:-128 - 127。

Int16

Int16

取值範圍 :-32768 - 32767。

Int32

Int32

取值範圍: -2147483648 - 2147483647。

Int64

Int64

取值範圍 :-9223372036854775808 - 9223372036854775807。

浮點類型

Float32

單精確度浮點數

同C語言Float類型,單精確度浮點數在機內佔4個位元組,用32位二進位描述。

Float64

雙精確度浮點數

同C語言Double類型,雙精確度浮點數在機內佔8個位元組,用64位二進位描述。

Decimal類型

Decimal

Decimal

有符號的定點數,可在加、減和乘法運算過程中保持精度。支援幾種寫法:

  • Decimal(P, S)

  • Decimal32(S)

  • Decimal64(S)

  • Decimal128(S)

字串類型

String

字串

字串可以是任意長度的。它可以包含任意的位元組集,包含空位元組。因此,字串類型可以代替其他 DBMSs 中的VARCHAR、BLOB、CLOB 等類型。

FixedString

固定字串

當資料的長度恰好為N個位元組時,FixedString類型是高效的。 在其他情況下,這可能會降低效率。可以有效儲存在FixedString類型的列中的值的樣本:

  • 二進位表示的IP地址(IPv6使用FixedString(16))

  • 語言代碼(ru_RU, en_US … )

  • 貨幣代碼(USD, RUB … )

  • 二進位表示的雜湊值(MD5使用FixedString(16),SHA256使用FixedString(32))

時間日期類型

Date

日期

用兩個位元組儲存,表示從 1970-01-01(無符號)到當前的日期值。日期中沒有儲存時區資訊。

DateTime

時間戳記

用四個位元組(無符號的)儲存 Unix 時間戳記。允許儲存與日期類型相同的範圍內的值。最小值為 1970-01-01 00:00:00。時間戳記類型值精確到秒(沒有閏秒)。時區使用啟動用戶端或伺服器時的系統時區。

Datetime64

Datetime64

此類型允許以日期(date)加時間(time)的形式來儲存一個時刻的時間值。

布爾型

Boolean

Boolean

ClickHouse沒有單獨的類型來儲存布爾值。可以使用UInt8 類型,取值限制為0或 1。

數群組類型

Array

Array

Array(T),由 T 類型元素組成的數組。T 可以是任意類型,包含數群組類型。但不推薦使用多維陣列,ClickHouse對多維陣列的支援有限。例如,不能在MergeTree表中儲存多維陣列。

元群組類型

Tuple

Tuple

Tuple(T1, T2, ...),元組,其中每個元素都有單獨的類型,不能在表中儲存元組(除了記憶體表)。它們可以用於臨時列分組。在查詢中,IN運算式和帶特定參數的 匿名函式可以來對臨時列進行分組。

Domain資料類型

Domain

Domain

Domain類型是特定實現的類型:

IPv4是與UInt32類型保持二進位相容的Domain類型,用於儲存IPv4地址的值。它提供了更為緊湊的二進位儲存的同時支援識別可讀性更加友好的輸入輸出格式。

IPv6是與FixedString(16)類型保持二進位相容的Domain類型,用於儲存IPv6地址的值。它提供了更為緊湊的二進位儲存的同時支援識別可讀性更加友好的輸入輸出格式。

枚舉類型

Enum8

Enum8

取值範圍:-128 - 127。

Enum16

Enum16

取值範圍 :-32768 - 32767。

可為空白

Nullable

Nullable

除非在 ClickHouse 伺服器配置中另有說明,否則 NULL 是任何 Nullable 類型的預設值。Nullable 類型欄位不能包含在表索引中。

巢狀型別

nested

nested

嵌套的資料結構就像儲存格內的表格。嵌套資料結構的參數(列名和類型)的指定方式與CREATE TABLE查詢中的指定方式相同。每個錶行都可以對應於嵌套資料結構中的任意數量的行。