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-01Date32: range[1900-01-01, 2299-12-31]DateTime,DateTime64: store time plus timezone
String and binary
String,FixedString(N)
Boolean
Bool(stored internally asUInt8)
Special purpose
UUID: efficient 128-bit representationIPv4,IPv6Enum,Enum8,Enum16JSONLowCardinality(T)(wrapper): stores with dictionary encoding instead; when a column has few distinct values (ideally < 10K), it significantly speeds upSELECTNullable(T)(wrapper)
Composite & nested
Array(T): index starts at 1Tuple(T1, T2, …)Map(key_type, value_type)Point,Ring,Polygon,MultiPolygon(geo)
References
- ClickHouse Data Types — https://clickhouse.com/docs/en/sql-reference/data-types
Related: back to the Cross-Engine DB Query overview, or on to ClickHouse array and conditional functions.