ClickHou数据类型
数据类型
⽂章⽬录
1.基本数据类型
1.1.整数
整数Int8、Int16、Int32 和 Int64
如果加U就是⽆符号位
后⾯的数字代表位
Int8就相当于以前学的byte,Int16就相当于short,int32就相当于int,int64就相当于long 1.2.浮点数
炸莲藕浮点数 Float32 和 Float64
Float32就相当于是Float,Float64就相当于是Double
1.3.定点数
定点数 Decimal32、Decimal64 和Decimal128,Decimal(P,S)
后⾯的数字代表位
P - 规模。效范围:[1-38],决定可以有多少个⼗进制数字(包括分数)
S - 精度。有效范围:[0-P],决定数字的⼩数部分中包含的⼩数位数
等效声明
五年级上册手抄报Decimal32
Decimal(1~9,S)
Decimal64
Decimal(10~18,S)
Decimal128
司马他
Decimal(19~38,S)
运算精度变化的规则
加法,减法:S = max(S1, S2)。
乘法:S = S1 + S2。(s1范围>=s2范围)
除法:S = S1(s1为被除数,s1/s2)
中国十大景区排名1.4.布尔
布尔 UInt8 (⽆符号的byte只有0和1)限制值为0或1
2.字符串
String、FixedString 和 UUID
String 不限制长度(变长),相当于Varchar、Text、Clob 和 Blob 等字符类型古典纯音乐
FixedString(N)相当于Char,长度固定,数据长度不够时,添加空字节(null);长度过长返回错误消息
UUID:32位,格式8-4-4-4-12,如果未被赋值,则⽤0填充
3.⽇期时间
Date、DateTime、DateTime64
Date: 2020-02-02 精确到天
DateTime: 2020-02-02 20:20:20 精确到秒
DateTime64: 2020-02-02 20:20:20.335 精确到亚秒,可以设置精度
4.复合类型
4.1.数组
创建数据:array(数据类型)或[],类型必须相同
4.2.元组
滋润汤
由多个元素组成,允许不同类型
创建数据:(T1, T2, …)或者Tuple(T1, T2, …)
4.3.枚举
Enum8和Enum16两种枚举类型,它们除了取值范围不同之外,别⽆⼆致
枚举固定使⽤(String:Int)Key/Value键值对的形式定义数据(string的key,int的value)
Enum8和Enum16分别会对应(String:Int8)和(String:Int16)
⽤(String:Int) Key/Value键值对的形式定义数据,键值对不能同时为空,不允许重复,key允许为空字符串,需要看到对应的值进⾏转换
4.4.嵌套
印度歌曲
Nested(Name1 Type1,Name2 Type2,…)
相当于表中嵌套⼀张表,插⼊时相当于⼀个多维数组的格式,⼀个字段对应⼀个数组
5.其他类型
5.1.Nullable(TypeName)
Nullable(TypeName)
只能与基础数据类型搭配使⽤
表⽰某个类型的值可以为NULL
Nullable(Int8)表⽰可以存储Int8类型的值,没有值时存NULL
注意
不能与复合类型数据⼀起使⽤、
不能作为索引字段
心算能力尽量避免使⽤,字段被Nullable修饰后会额外⽣成[Column].null.bin ⽂件保存Null值,增加开销
5.2.Domain(域)
IPv4 使⽤ UInt32 存储。如 116.253.40.133
IPv6 使⽤ FixedString(16) 存储。如 2a02:aa08:e000:3100::2