Clickhou第二讲-CK数据类型

更新时间:2023-07-26 19:33:42 阅读: 评论:0

Clickhou第⼆讲-CK数据类型Clickhou⽀持的数据类型
在 system.data_type_families 表中检查数据类型名称以及是否区分⼤⼩
写。这个表中存储了 ClickHou ⽀持的所有数据类型。
lect * from system.data_type_families limit 10;
┌─name────────────────────────────┬─ca_innsitive─┬─alias_to────┐│ Polygon                        │                0 │            │
│ Ring                            │                0 │            │
│ MultiPolygon                    │                0 │            │
│ IPv6                            │                0 │            │
│ IntervalSecond                  │                0 │            │
│ IPv4                            │                0 │            │
│ UInt32                          │                0 │            │
│ IntervalYear                    │                0 │            │
│ IntervalQuarter                │                0 │            │
│ IntervalMonth                  │                0 │            │
│ Int64                          │                0 │            │
│ IntervalDay                    │                0 │            │
│ IntervalHour                    │                0 │            │
│ UInt256                        │                0 │            │
孟学农夫人
│ Int16                          │                0 │            │
│ LowCardinality                  │                0 │            │
│ AggregateFunction              │                0 │            │
│ Nothing                        │                0 │            │
│ Decimal256                      │                1 │            │
│ Tuple                          │                0 │            │
│ Array                          │                0 │            │
│ Enum16                          │                0 │            │曾海英
│ IntervalMinute                  │                0 │            │
│ FixedString                    │                0 │            │
String                          │                0 │            │
│ DateTime                        │                1 │            │
│ UUID                            │                0 │            │
│ Decimal64                      │                1 │            │
│ Nullable                        │                0 │            │
│ Enum                            │                0 │            │
│ Int32                          │                0 │            │
│ UInt8                          │                0 │            │
│ Date                            │                1 │            │
│ Decimal32                      │                1 │            │
│ Point                          │                0 │            │
│ Float64                        │                0 │            │
│ DateTime64                      │                1 │            │
│ Int128                          │                0 │            │
│ Decimal128                      │                1 │            │
│ Int8                            │                0 │            │结构化
│ SimpleAggregateFunction        │                0 │            │
│ Nested                          │                0 │            │
│ Decimal                        │                1 │            │
│ Int256                          │                0 │            │
│ IntervalWeek                    │                0 │            │
│ UInt64                          │                0 │            │
│ Enum8                          │                0 │            │
│ DateTime32                      │                1 │            │
│ UInt16                          │                0 │            │
│ Float32                        │                0 │            │
│ INET6                          │                1 │ IPv6        │
│ INET4                          │                1 │ IPv4        │
│ BINARY                          │                1 │ FixedString │
│ NATIONAL CHAR VARYING          │                1 │ String      │
│ BINARY VARYING                  │                1 │ String      │
│ NCHAR LARGE OBJECT              │                1 │ String      │
怎样煎鱼不粘锅│ NATIONAL CHARACTER VARYING      │                1 │ String      │
│ NATIONAL CHARACTER LARGE OBJECT │                1 │ String      │
游园不值译文│ NATIONAL CHARACTER              │                1 │ String      │
│ NATIONAL CHAR                  │                1 │ String      │
│ CHARACTER VARYING              │                1 │ String      │
│ LONGBLOB                        │                1 │ String      │
│ MEDIUMTEXT                      │                1 │ String      │
│ TEXT                            │                1 │ String      │
│ TINYBLOB                        │                1 │ String      │
│ VARCHAR2                        │                1 │ String      │
│ CHARACTER LARGE OBJECT          │                1 │ String      │
│ DOUBLE PRECISION                │                1 │ Float64    │
│ LONGTEXT                        │                1 │ String      │
│ NVARCHAR                        │                1 │ String      │
│ INT1 UNSIGNED                  │                1 │ UInt8      │
│ VARCHAR                        │                1 │ String      │
│ CHAR VARYING                    │                1 │ String      │
│ MEDIUMBLOB                      │                1 │ String      │
│ NCHAR                          │                1 │ String      │
│ CHAR                            │                1 │ String      │
│ SMALLINT UNSIGNED              │                1 │ UInt16      │
│ TIMESTAMP                      │                1 │ DateTime    │
│ FIXED                          │                1 │ Decimal    │
│ TINYTEXT                        │                1 │ String      │
│ NUMERIC                        │                1 │ Decimal    │
│ DEC                            │                1 │ Decimal    │
│ TINYINT UNSIGNED                │                1 │ UInt8      │
│ INTEGER UNSIGNED                │                1 │ UInt32      │
│ INT UNSIGNED                    │                1 │ UInt32      │
│ CLOB                            │                1 │ String      │
│ MEDIUMINT UNSIGNED              │                1 │ UInt32      │
│ BOOL                            │                1 │ Int8        │
│ SMALLINT                        │                1 │ Int16      │
│ INTEGER SIGNED                  │                1 │ Int32      │
│ NCHAR VARYING                  │                1 │ String      │
│ INT SIGNED                      │                1 │ Int32      │
│ TINYINT SIGNED                  │                1 │ Int8        │
│ BIGINT SIGNED                  │                1 │ Int64      │
│ BINARY LARGE OBJECT            │                1 │ String      │
│ SMALLINT SIGNED                │                1 │ Int16      │
│ MEDIUMINT                      │                1 │ Int32      │
plea的形容词│ INTEGER                        │                1 │ Int32      │
│ INT1 SIGNED                    │                1 │ Int8        │
│ BIGINT UNSIGNED                │                1 │ UInt64      │
│ BYTEA                          │                1 │ String      │
│ INT                            │                1 │ Int32      │
│ SINGLE                          │                1 │ Float32    │
│ FLOAT                          │                1 │ Float32    │
│ MEDIUMINT SIGNED                │                1 │ Int32      │
│ BOOLEAN                        │                1 │ Int8        │
│ DOUBLE                          │                1 │ Float64    │
紫芝的功效与作用│ INT1                            │                1 │ Int8        │
│ CHAR LARGE OBJECT              │                1 │ String      │
│ TINYINT                        │                1 │ Int8        │
│ BIGINT                          │                1 │ Int64      │
│ CHARACTER                      │                1 │ String      │
│ BYTE                            │                1 │ Int8        │
│ BLOB                            │                1 │ String      │
│ REAL                            │                1 │ Float32    │
└─────────────────────────────────┴──────────────────┴─────────────┘CK数据类型和MySQL及Hive的区别
Int说明
ClickHou 中整形分为 Int8、Int16、Int32、Int64 来表⽰整数不同的取值范
围,其末尾数字正好代表占⽤字节的⼤⼩(8 位=1 字节),整形⼜包含有符号整形和⽆符
号整形,他们写法上的区别为⽆符号整形前⾯加“
U”表⽰
Float
建议使⽤整数⽅式来存储数据,因为浮点类型数据计算可能导致四舍五⼊的误差。
浮点类型包含单精度浮点数和双精度浮点数。Float32 从⼩数点后第 8 位起会发⽣数据溢出。
Float64 从⼩数点后第 17 位起会发⽣数据溢出。
Float之间的类型转换
toFloat32(...) ⽤来将字符串转换成 Float32 类型的函数
toFloat64(...) ⽤来将字符串转换成 Float64 类型的函数
Decimal
有符号的定点数,可在加、减和乘法运算过程中保持精度。ClickHou 提供了
Decimal32、Decimal64、Decimal128、Decimal256 ⼏种精度的定点数,⽀持⼏种写法:
Decimal(P,S)
Decimal32(S),数据范围:(-1*10^(9-S),1*10^(9-S))
Decimal64(S),数据范围:(-1*10^(18-S),1*10^(18-S))
Decimal128(S),数据范围:(-1*10^(38-S),1*10^(38-S))
Decimal256(S),数据范围:(-1*10^(76-S),1*10^(76-S))
其中,P 代表精度,决定总位数(整数部分+⼩数部分),取值范围是 1~76。S 代表规模,决定⼩数位数,取值范围是 0~P。
根据 P 值的范围可以有如下对等写法,这⾥以⼩数点后 2 位举例:
另外,Decimal 数据在进⾏四则运算时,精度(总位数)和规模(⼩数点位数)会发
⽣变化,具体规则如下:
精度(总位数)对应规则:
Decimal64(S1) 运算符 Decimal32(S2) -> Decimal64(S)
Decimal128(S1) 运算符 Decimal32(S2) -> Decimal128(S)
Decimal128(S1) 运算符 Decimal64(S2) -> Decimal128(S)
Decimal256(S1) 运算符 Decimal<32|64|128>(S2) -> Decimal256(S)
两个不同精度的数据进⾏四则运算时,结果数据的精度以最⼤精度为准。
规模(⼩数点位数)对应规则:
加法|减法:S=max(S1,S2),即以两个数据中⼩数点位数最多的为准。
乘法:S=S1+S2(注意:S1 精度>=S2 精度),即以两个数据的⼩数位相加为准。
除法:规模以被除数的⼩数位为准。两数相除,被除数的⼩数位数不能⼩于除数的
⼩数位数,也就是触发的规模可以理解为与两个数据中⼩数点位数⼤的为准。举例:
a/b ,a 是被除数,与 a 的规模保持⼀致
例⼦:
toDecimal32(value,S):将字符串 value 转换为 Decimal32 类型,⼩数点后
有 S 位。
toTypeName(字段):获取字段的数据类型函数。
#测试加法,S 取两者最⼤的,P 取两者最⼤的
lect  toDecimal64(2,3) as x, toTypeName(x) as xtype, toDecimal32(2,2) as y,toTypeName(y) as ytype, x+y as z, toTypeName(z) as ztype;
#测试减法,S 取两者最⼤的,P 取两者最⼤的。
lect  toDecimal64(2,3) as x, toTypeName(x) as xtype, toDecimal32(2,2) as y,toTypeName(y) as ytype, x-y as z, toTypeName(z) as ztype;
农村满60岁老人补贴#测试乘法,S 取两者最⼤的,P 取两者⼩数位之和

本文发布于:2023-07-26 19:33:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1118697.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:位数   数据   精度   类型
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图