ClickHouse常用数据类型与其他组件类型对比

与其他组件数据类型对比

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中有无穷大,无穷小,非数字值三种特殊的浮点数。

ClickHouse常用数据类型与其他组件类型对比

inf表示无穷大,因为在ClickHouse中0表示无穷小,一个数除以无穷小自然是无穷大。

ClickHouse常用数据类型与其他组件类型对比

0/0的结果不是一个数值可以表示的,所以是nan(非数值)。

枚举

ClickHouse中没有布尔型,一般使用枚举类型表示。

ClickHouse的枚举类型有两种:Enum8和Enum16类型。枚举类型保存’string’=integer的对应关系。

Enum8:‘String’=Int8

Enum16:‘String’=Int16

例子:字符串要用单引号括起来
ClickHouse常用数据类型与其他组件类型对比

数组

ClickHouse除了枚举类型,还有数组类型Array(T):由T类型元素组成的数组。

T可以是所有数据类型,包括数组类型。但是ClickHouse对多维数组的支持和对多表联查的支持差不多。

数组可以使用[]简写代替。

ClickHouse常用数据类型与其他组件类型对比

元组

如果存进去的数据每个都有自己的数据类型,那就可以使用元组类型。
ClickHouse常用数据类型与其他组件类型对比