时许数据库clickhouse数据类型
一:查看ck支持的数据类型
SELECT * FROM system.data_type_families
二:数值类型
数值类型
Int类型
固定长度的整数类型又包括有符号和无符号的整数类型。
eg:插入的数据
INSERT INTO aa2 (pk,entr_px_float32,entr_px_float64) VALUES ('99921518',10.01,64.02);
实际结果
Decimal类型
有符号的定点数,可在加、减和乘法运算过程中保持精度。ClickHouse提供了Decimal32、Decimal64和Decimal128三种精度的定点数,支持几种写法:
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的范围,可以有如下的等同写法:
注意点:不同精度的数据进行四则运算时,**精度(总位数)和规模(小数点位数)**会发生变化,两个不同精度的数据进行四则运算时,结果数据已最大精度为准
eg:
entr_px_decemail32 Decimal(9, 4) |
entr_px_decemail64 Decimal(18, 5) |
entr_px_decemail128 Decimal(19, 3) |
插入结果 |
99999.1234(5+4) | 9999999999999.12345(13+5) | 1234567890111111.123 (16+3) | 成功 |
999999.123(6+3) | 报错Decimal value is too big | ||
99999.12345(5+5) |
成功 数据库值:99999.1234 |
时间类型
时间类型分为DateTime、DateTime64和Date三类。
Date类型
用两个字节存储,表示从 1970-01-01 (无符号) 到当前的日期值。日期中没有存储时区信息。
CREATE TABLE t_date (x date) ENGINE=TinyLog;
INSERT INTO t_date VALUES('2020-10-01');
SELECT x,toTypeName(x) FROM t_date;
┌──────────x─┬─toTypeName(x)─┐
│ 2020-10-01 │ Date │
└────────────┴───────────────┘
DateTime类型
用四个字节(无符号的)存储 Unix 时间戳。允许存储与日期类型相同的范围内的值。最小值为 0000-00-00 00:00:00。时间戳类型值精确到秒(没有闰秒)。时区使用启动客户端或服务器时的系统时区。
DateTime64
需要存储毫秒纳秒,需要DateTime64
毫秒:create_time` DateTime64(3)
纳秒:create_time` DateTime64(9)
驱动使用新版jdbc 0.3.2+以上
参考文档:
https://blog.csdn.net/jmx_bigdata/article/details/109084721
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类