数值类型

云器 Lakehouse 支持整数类型(TINYINT、SMALLINT、INT、BIGINT)和浮点/精确小数类型(FLOAT、DOUBLE、DECIMAL)。

类型对比

整数类型

类型存储范围适用场景
TINYINT
TINYINT
1 字节-128 ~ 127状态码、枚举值、小范围标志位
SMALLINT
SMALLINT
2 字节-32,768 ~ 32,767年份、小范围计数
INT
INT
4 字节-2,147,483,648 ~ 2,147,483,647通用整数 ID、计数
BIGINT
BIGINT
8 字节-9.2×10¹⁸ ~ 9.2×10¹⁸大规模 ID、时间戳(毫秒)、累计量

超出范围的 CAST 返回 NULL(不报错):

SELECT CAST(128 AS TINYINT); -- NULL(超出 127) SELECT CAST(32768 AS SMALLINT); -- NULL(超出 32767)

浮点与精确小数类型

类型存储精度适用场景
FLOAT
FLOAT
4 字节~6-7 位有效数字ML 特征值、向量元素、精度要求不高的实数
DOUBLE
DOUBLE
8 字节~15-17 位有效数字科学计算、统计分析
DECIMAL(p,s)
DECIMAL(p,s)
可变精确金融金额、需要精确计算的小数

FLOAT 与 DOUBLE 精度差异(实测):

SELECT CAST(3.14159265358979 AS FLOAT) AS f, -- 3.1415927410125732(7位后失真) CAST(3.14159265358979 AS DOUBLE) AS d; -- 3.14159265358979(完整保留)

浮点精度误差示例:

SELECT CAST(0.1 AS DOUBLE) + CAST(0.2 AS DOUBLE); -- 0.30000000000000004 SELECT CAST(0.1 AS DECIMAL(2,1)) + CAST(0.2 AS DECIMAL(2,1)); -- 0.3

相关文档

联系我们
预约咨询
微信咨询
电话咨询