与其他组件数据类型对比
MySQL | Hive | ClickHouse |
---|---|---|
byte | TINYINT | Int8 |
short | SMALLINT | Int16 |
int | INT | Int32 |
long | BIGINT | Int64 |
varchar | STRING | String |
timestamp | TIMESTAMP | DateTime |
float | FLOAT | Float32 |
double | DOUBLE | Float64 |
boolean | BOOLEAN | - |
注意点:
ClickHouse中有无穷大,无穷小,非数字值三种特殊的浮点数。
inf表示无穷大,因为在ClickHouse中0表示无穷小,一个数除以无穷小自然是无穷大。
0/0的结果不是一个数值可以表示的,所以是nan(非数值)。
枚举
ClickHouse中没有布尔型,一般使用枚举类型表示。
ClickHouse的枚举类型有两种:Enum8和Enum16类型。枚举类型保存’string’=integer的对应关系。
Enum8:‘String’=Int8
Enum16:‘String’=Int16
例子:字符串要用单引号括起来
数组
ClickHouse除了枚举类型,还有数组类型Array(T):由T类型元素组成的数组。
T可以是所有数据类型,包括数组类型。但是ClickHouse对多维数组的支持和对多表联查的支持差不多。
数组可以使用[]简写代替。
元组
如果存进去的数据每个都有自己的数据类型,那就可以使用元组类型。