This section describes the data types supported by ClickHouse, for example integers, floats and strings.
Different data types can benefit from different compression codecs.
System table system.data_type_families provides an
overview of all available data types.
It also shows whether a data type is an alias to another data type and its name is case-sensitive (e.g. bool vs. BOOL).
Data type categories
Numeric types
Store integers, floating-point values, fixed-precision Decimal values, and Bool flags.
String types
Store variable-length String values or fixed-length FixedString values.
Date and time types
Represent dates with Date and Date32, timestamps with DateTime and DateTime64, or time values with Time and Time64.
Network types
Composite types
Semi-structured types
Store evolving or heterogeneous data with JSON, Dynamic, and Variant.
Nullable and optional types
Represent missing values with Nullable, or reduce storage for repeated values with LowCardinality.
Specialized types
Model UUID values, Enum values, geographic objects, vectors for approximate search, and domains.
Aggregate function types
Store intermediate aggregation states with AggregateFunction and SimpleAggregateFunction.
Special Data Types
Learn about Expression, Interval, Nothing, and Set, which are used for intermediate query results.
Binary encoding
See the binary encoding specification for the serialized representation of each data type.