ClickHouse 基本数据类型的大概介绍

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]

3Float32, 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、。。。。。之类的就不在叙述。特殊场景特殊使用吧。

你可能感兴趣的:(ClickHouse 基本数据类型的大概介绍)