当 在hive中使用round 函数的时候,比如你 round(a,0)想保留一位小数点的时候,如果这个a是decimal的数据类型,那么就有可能是失效。比如a是30.01或者30.91的时候,这两种类型的数据就不会保留一位小数点,只会返回给你 30 或者31。其他类型的比如 30.12,30.22.。。等等就不会失效。
这种问题解决方案:最好就直接将a先强转成bigint类型,这种情况下round(a,0)就一定返回有一位小数点。
hive round函数 和decimal一起使用的时部分失效情况和解决办法,
最新推荐文章于 2025-09-05 08:00:00 发布
本文探讨了在Hive中使用round函数遇到的decimal数据类型小数位保留问题,提出将decimal转换为bigint类型以确保一位小数点的准确保留,并提供了实际案例和解决方法。
2206

被折叠的 条评论
为什么被折叠?



