标签:String S1 数据类型 嵌套 toDecimal64 类型 ClickHouse 110
ClickHouse数据类型分:基础类型、复合类型和特殊类型
一、 基础类型
分数字、字符串和时间
1、 数字
分整数、浮点数和定点数
- 整数
名称 | 大小(字节) | 范围 |
---|---|---|
Int8 | 1 | -128 ~ 127 |
Int16 | 2 | -32768 ~ 32767 |
Int32 | 4 | -2147483648 ~ 2147483647 |
Int64 | 8 | -9223372036854775808 ~ 9223372036854775807 |
UInt8 | 1 | 0 ~ 255 |
UInt16 | 2 | 0 ~ 65535 |
UInt32 | 4 | 0 ~ 4294967295 |
UInt64 | 8 | 0 ~ 18446744073709551615 |
- 浮点数
名称 | 大小(字节) | 有效精度 |
---|---|---|
Float32 | 4 | 7 |
Float64 | 8 | 16 |
- 定点数
名称 | 等效声明 | 范围 |
---|---|---|
Decimal32(S) | Decimal(1~9,S) | -110^(9-S) ~ 110^(9-S) |
Decimal64(S) | Decimal(10~18,S) | -110^(18-S) ~ 110^(18-S) |
Decimal128(S) | Decimal(19~38,S) | -110^(38-S) ~ 110^(38-S) |
四则运算后的精度变化规则
四则运算 | 规则 | 示例 |
---|---|---|
加法 | S = max(S1,S2) | SELECT toDecimal64(6,8) + toDecimal64(3,2) |
减法 | S = max(S1,S2) | SELECT toDecimal64(6,8) - toDecimal64(3,2) |
乘法 | S = S1 + S2 | SELECT toDecimal64(6,8) * toDecimal64(3,2) |
除法 | S = S1 / S2 | SELECT toDecimal64(6,8) / toDecimal64(3,2) |
2、 字符串:String、FixedString和UUID
String:长度不限,可以不指定长度
FixedString:固定长度字符串,末尾用空字符填充,故长度=固定字符串长度+2
UUID:32位,格式:8-4-4-4-12。赋值时如果没指定,用0代替。
3、 时间:DateTime、DateTime64和Date
DateTime:日期+时分秒,例如:2021-04-28 21:09:06
DateTime64:日期+时分亚秒,例如:2021-04-28 21:09:06.12
Date:日期,例如:2021-04-28
二、 复合类型
分数组、元组、枚举和嵌套
类型 | 描述 | 示例 |
---|---|---|
数组(Array) | 用array(1,2,3)或者[1,2,3]方式定义,各类型之间必须兼容 | c Array(String) |
元组(Tuple) | 由1到n个元素组成,每个元素之间的数据类型可以不一样。用tuple(T)或(T)方式定义。 | c Tuple(String,Int8) |
枚举(Enum) | 定义常量,两种类型Enum8和Enum16,使用键值方式定义数据。 | c Enum8(‘ready’=1,’start’=2,’success’=3,’error’=4) |
嵌套(Nested) | 可以定义任意多个字段,只支持一级嵌套,即嵌套内不能在使用嵌套。嵌套的本质是一种多维数组。在访问时使用点符号 | c Nested( id Int8,name String(255)) |
三、 特殊类型
1、 Nullable:和基础类型搭配使用,不能使用数组和元组,不能作为索引字段
2、 Domain:分为IPv4和IPv6
标签:String,S1,数据类型,嵌套,toDecimal64,类型,ClickHouse,110 来源: https://blog.csdn.net/m0_37829442/article/details/116239006
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。