Skip to content
All writing Part 01 of 09 · [object Object]
Engineering · 1 min read

ClickHouse 資料型別:實務上真正會碰到的那些

實務專案裡真正會碰到的 ClickHouse 資料型別:數值、日期時間、字串、LowCardinality、Nullable,以及複合的 Array/Tuple/Map(陣列從 index 1 開始)。

專案常用型別

先整理出目前實務專案裡最常碰到的幾組:

DateTime
String
LowCardinality(String)
UInt8
UInt16
UInt32
Int64
Float64
Nullable(Float64)
Array(String)
Array(UInt32)
Array(LowCardinality(String))

核心型別分類

數值

  • 整數UInt8/16/32/64/128/256Int8/16/32/64/128/256(共 12 種)
  • 浮點Float32Float64
  • DecimalDecimalDecimal32/64/128/256

日期與時間

  • Date:範圍 [1970-01-01, 2149-06-06]0 = 1970-01-01
  • Date32:範圍 [1900-01-01, 2299-12-31]
  • DateTimeDateTime64:儲存時間與額外的「時區」

字串與二進位

  • StringFixedString(N)

布林

  • Bool(內部以 UInt8 儲存)

特殊用途

  • UUID:128 bits 的高效表示
  • IPv4IPv6
  • EnumEnum8Enum16
  • JSON
  • LowCardinality(T)(wrapper):改用字典編碼儲存;欄位相異值少(理想 < 10K)時,大幅提升 SELECT 效能
  • Nullable(T)(wrapper)

複合與巢狀

  • Array(T)index 從 「1」 開始
  • Tuple(T1, T2, …)
  • Map(key_type, value_type)
  • PointRingPolygonMultiPolygon(geo)

參考來源

Related: 回到跨引擎資料庫查詢總覽,或接著看 ClickHouse 陣列與條件函式

Tags #clickhouse #databases
// connect

Be brave | Be wise | Be grateful

21 BreakinCode

// elsewhere
LinkedInMedium (lang: en)Youtube
wh:~$William Hung· © 2026 Taipei · GMT+8 · Available for collaboration