天天看点

HIVE decimal类型溢出问题背景解决办法

背景

hive版本1.2.1

s1字段类型为DECIMAL(38,a)

s2字段类型为DECIMAL(38,b)

s3字段类型为DECIMAL(38,c)

s1 * s2* s3

结果为NULL,没有报错

解决办法

猜测为hive隐式转换数值型溢出,导致显示为NULL,可通过CAST强制转换精度进行处理,如

CAST((s1 * s2) as DECIMAL(38,d)) * s3

继续阅读