1:整型
Int8 - [-128 : 127]
Int16 - [-32768 : 32767]
Int32 - [-2147483648 : 2147483647]
Int64 - [-9223372036854775808 : 9223372036854775807]
2:无符号整型
UInt8 - [0 : 255]
UInt16 - [0 : 65535]
UInt32 - [0 : 4294967295]
UInt64 - [0 : 18446744073709551615]
3:Float32, Float64
Float32 - float
Float64 - double
4、Boolean Values
没有单独的类型来存储布尔值。可以使用 UInt8 类型,取值限制为 0 或 1
5、String
字符串可以任意长度的。它可以包含任意的字节集,包含空字节。因此,字符串类型可以代替其他 DBMSs 中的 VARCHAR、BLOB、CLOB 等类型。
6、FixedString
固定长度 N 的字符串(N 必须是严格的正自然数)
7、Date
日期类型,用两个字节存储,表示从 1970-01-01 (无符号) 到当前的日期值。允许存储从 Unix 纪元开始到编译阶段定义的上限阈值常量(目前上限是2106年,但最终完全支持的年份为2105)。最小值输出为0000-00-00,日期中没有存储时区信息。
8、DateTime64
允许以指定的亚秒精度存储即时时间,该时间可以表示为日历日期和一天中的时间,比如 2020-03-16 23:49:02.000 这种时间。
9、DateTime
时间戳类型。用四个字节(无符号的)存储 Unix 时间戳)。允许存储与日期类型相同的范围内的值。最小值为 0000-00-00 00:00:00。时间戳类型值精确到秒。
10、Enum8, Enum16
包括 Enum8 和 Enum16 类型。Enum 保存 ‘string’= integer 的对应关系。在 ClickHouse 中,尽管用户使用的是字符串常量,但所有含有 Enum 数据类型的操作都是按照包含整数的值来执行。这在性能方面比使用 String 数据类型更有效。
Enum8 用 ‘String’= Int8 对描述。
Enum16 用 ‘String’= Int16 对描述。
16、Nullable(TypeName)
允许用特殊标记 (NULL) 表示"缺失值",可以与 TypeName 的正常值存放一起。例如,Nullable(Int8) 类型的列可以存储 Int8 类型值,而没有值的行将存储 NULL。
对于TypeName,不能使用复合数据类型 Array 和 Tuple。复合数据类型可以包含 Nullable 类型值,例如Array(Nullable(Int8))。
Nullable 类型字段不能包含在表索引中。
除非在 ClickHouse 服务器配置中另有说明,否则 NULL 是任何 Nullable 类型的默认值。
经常使用的一般就上面介绍的这些,当然还有 Array、Tuple、。。。。。之类的就不在叙述。特殊场景特殊使用吧。