ClickHouse 数据基本类型

1、整型(固定长度)包含有符号和无符号两种

有符号:int*,*代表8,16,32...256等,数字(字节)越大取值范围越大

无符号:Uint*,*代表8,16,32...256等,数字(字节)越大取值范围越大

别名:

  • Int8 — TINYINTBOOLBOOLEANINT1.
  • Int16 — SMALLINTINT2.
  • Int32 — INTINT4INTEGER.
  • Int64 — BIGINT

2、UUID是字符串类型,不支持函数计算  自动生成generateuidv4函数

 

 3、时间类型 Date、Date32、DateTime、DateTime64

Date取值范围:[1970-01-01, 2149-06-06],目前上限是2106年

Date32取值范围:[1925-01-01, 2283-11-11]

DateTime取值范围:[1970-01-01 00:00:00, 2106-02-07 06:28:15]

DateTime64取值范围:[1925-01-01 00:00:00, 2283-11-11 23:59:59.99999999] (注意: 最大值的精度是8)

与 DateTime 不同, DateTime64 类型的值不会自动从 String 类型的值转换过来

Date与Date32基本上操作一致:

DateTime:-type  输入是数字会按照时区自动转换

 DateTime64:时区存储在元数据中

 

 4、精度类型:float32(float)、float64(double)

0不能当做除数,可以当做被除数,但是在这里打破了界限INF,无穷

 

 

 5、Decimal(P,S),Decimal32(s)....256(s)  

有符号的定点数,可在加、减和乘法运算过程中保持精度。对于除法,最低有效数字会被丢弃(不舍入)

 P - 精度。有效范围:[1:38],决定可以有多少个十进制数字(包括分数)

 S - 规模。有效范围:[0:P],决定数字的小数部分中包含的小数位数

禁止溢出检查:

 

精度变化的规则:

加法,减法:S = max(S1, S2)。

乘法:S = S1 + S2

除法:S = S1

 6、布尔类型(boolean)用UInt8代替,限制于0和1

7、String(字符串) 

字符串可以任意长度的。它可以包含任意的字节集,包含空字节。

8、FixedString(N) 固定长度 N 的字符串(N 必须是严格的正自然数)

 

 9、Array(数组):array(T)或[]

10、元组Tuple(T1,T2....),每个元组都可以有单独的类型

不能在表中存储元组(除内存表),可用于临时列分组

 

 11、嵌套数据类型:Nested(Name1 Type1, Name2 Type2, …)

 

 

posted @ 2022-05-29 08:30  田领群  阅读(773)  评论(0编辑  收藏  举报