更新时间:2022-02-22 GMT+08:00

当在Filter中使用Big Double类型数值时,过滤结果与Hive不一致

现象描述

当在filter中使用更高精度的double数据类型的数值时,过滤结果没有按照所使用的filter的要求返回正确的值。

可能原因

如果filter使用更高精度的double数据类型的数值,系统将会对该值四舍五入进行比较,因此在这种情况下,即使小数部分不同,系统仍然会认为double数据类型的值是相同的。

定位思路

无。

处理步骤

当需要高精度的数据比较时,可以使用Decimal数据类型的数值,例如,在财务应用程序中,equality和inequality检查,以及取整运算,均可使用Decimal数据类型的数值。

参考信息

无。