Apache Hive如何保留两位小数?

17

实际上,我正在寻找有关Apache Hive中sum函数的更多细节。到目前为止,我理解我可以指定小数点后的位数:

val DECIMAL(18, 3)

但是我找不到在求和情况下的精度标度。 例如,如果我添加两个具有3位精度标度的小数,求和函数将返回什么?我的精度标度会被保留吗? 结果会被截断还是四舍五入? 我错过了什么吗?

非常感谢。

1个回答

33

将其四舍五入至所需小数位数即可。

select round(SUM(150.100 + 127.0090), 2);

以上的输出将是:

277.11

5
我使用的是Hive(版本1.1.0-cdh5.10.1)。在HUE中尝试您的查询,它返回了277.11000000000001。然后我通过beeline尝试,并获得了正确的结果(277.11)。甚至将结果写入文件也正常工作。我认为这是HUE UI的一个bug! - pedram bashiri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接