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

ClickHouse Data Types: The Set You'll Actually Hit

The ClickHouse data types you actually meet in production — numeric, date/time, string, LowCardinality, Nullable, and the composite Array/Tuple/Map (whose arrays start at index 1).

Common types in practice

Here’s the set you’ll actually hit most in real projects:

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

Core type categories

Numeric

  • Integers: UInt8/16/32/64/128/256, Int8/16/32/64/128/256 (12 variants total)
  • Floating point: Float32, Float64
  • Decimal: Decimal, Decimal32/64/128/256

Date and time

  • Date: range [1970-01-01, 2149-06-06], 0 = 1970-01-01
  • Date32: range [1900-01-01, 2299-12-31]
  • DateTime, DateTime64: store time plus timezone

String and binary

  • String, FixedString(N)

Boolean

  • Bool (stored internally as UInt8)

Special purpose

  • UUID: efficient 128-bit representation
  • IPv4, IPv6
  • Enum, Enum8, Enum16
  • JSON
  • LowCardinality(T) (wrapper): stores with dictionary encoding instead; when a column has few distinct values (ideally < 10K), it significantly speeds up SELECT
  • Nullable(T) (wrapper)

Composite & nested

  • Array(T): index starts at 1
  • Tuple(T1, T2, …)
  • Map(key_type, value_type)
  • Point, Ring, Polygon, MultiPolygon (geo)

References

Related: back to the Cross-Engine DB Query overview, or on to ClickHouse array and conditional functions.

Tags #clickhouse #databases
// connect

Be brave | Be wise | Be grateful

21 BreakinCode

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