ClickHouse 中的数据类型
ClickHouse 可以将各种类型的数据存储在表单元格中。本节介绍支持的数据类型以及在使用和/或实现它们时的一些特殊注意事项。
注意
您可以在 system.data_type_families 表中检查数据类型名称是否区分大小写。
ClickHouse 数据类型包括
- **整数类型**: 有符号和无符号整数 (
UInt8
,UInt16
,UInt32
,UInt64
,UInt128
,UInt256
,Int8
,Int16
,Int32
,Int64
,Int128
,Int256
) - **浮点数**: 浮点数(
Float32
和Float64
) 和Decimal
值 - **布尔值**: ClickHouse 有一个
Boolean
类型 - **字符串**:
String
和FixedString
- **日期**: 使用
Date
和Date32
表示天,使用DateTime
和DateTime64
表示时间点 - **对象**:
Object
在单个列中存储 JSON 文档(已弃用) - **JSON**:
JSON
对象 在单个列中存储 JSON 文档 - **UUID**: 用于存储
UUID
值 的高效选项 - **低基数类型**: 当您只有少量唯一值时,使用
Enum
;当您有一列最多 10,000 个唯一值时,使用LowCardinality
- **数组**: 任何列都可以定义为 值的数组
- **映射**: 使用
Map
存储键值对 - **聚合函数类型**: 使用
SimpleAggregateFunction
和AggregateFunction
存储聚合函数结果的中间状态 - **嵌套数据结构**:
Nested
数据结构 类似于单元格内的表 - **元组**: 元素的元组,每个元素都有一个单独的类型。
- **可空类型**:
Nullable
允许您在值“缺失”时将其存储为NULL
(而不是列根据数据类型设置其默认值) - **IP 地址**: 使用
IPv4
和IPv6
高效地存储 IP 地址 - **地理类型**: 用于 地理数据,包括
Point
、Ring
、Polygon
和MultiPolygon
- **特殊数据类型**: 包括
Expression
、Set
、Nothing
和Interval