ClickHouse基本数据类型
整型
分为有符号和无符号
有符号
- Int8
- Int16
- Int32
- Int64
无符号
- UInt8
- UInt16
- UInt32
- UInt64
浮点型
- Float32
- Float64
字符串
分为可变字符串和定长字符串
变长字符串 String
字符串可以任意长度的。它可以包含任意的字节集,包含空字节。
定长字符串 FixedString(N)
固定长度N的字符串,N必须是严格正数的自然数。当服务器读取包含较少字节的字符串(例如,作为在INSERT查询中传递的输入)时,通过在右侧附加空字节,字符串被填充为N个字节。当服务器读取包含更多字节的字符串时,将返回错误消息。当服务器写入一个字符串(例如,作为SELECT查询的输出)时,空字节不会从字符串末尾删除,而是输出。
日期 Date
一个Date。以1970-01-01(无符号)以来的天数存储在两个字节中。允许在Unix Epoch刚刚开始之后将值存储到编译阶段(目前,日期到2038年,但可能扩展到2106)由常量定义的上限。最小值输出为0000-00-00。
日期存储没有时区。
时间戳 DateTime
日期与时间。以四个字节存储为Unix时间戳(无符号)。允许将值存储在与日期类型相同的范围内。最小值输出为0000-00-00 00:00:00。时间储存精度高达1秒(不闰秒)。
枚举
- Enum8
- Enum16
Enum8或Enum16。存储为Int8或Int16的一组枚举字符串值。例:
Enum8(’hello’= 1,’world’= 2)
数组 Array(T)
T 类型的数组。T型可以是任何类型,包括数组。我们不推荐使用多维数组,因为它们不被很好的支持(例如,除了内存表之外,你不能在多维数组中存储多维数组)。
元组(T1,T2,…)
每个元素都有单独的类型