Impala 四舍五入到小数点后10位

f1tvaqid  于 2021-06-28  发布在  Hive
关注(0)|答案(2)|浏览(605)

我在hive表中有一列,我想使用impala和hive来查询该列,它应该舍入到10个十进制值。
ie测试列=32.54299947199998
select test\列应返回32.5429994720。我可以在select查询中使用什么函数来返回这样的值?

elcex8rz

elcex8rz1#

找到解决办法了。
从表\u name中选择cast(test \u column as decimal(20,10))
这将导致:32.5429994720
其中as round(test_列,10)不返回所需结果。

y3bcpkx1

y3bcpkx12#

在cloudera 5/rhel上,结果与您的不同(您是否使用了hive?):
在 Impala :

Select cast ( 32.542999471999998 as decimal(20,10))
, ROUND( 32.542999471999998, 10)
, cast(round( 32.542999471999998,10) as decimal(20,10))

cast(32.542999471999998为十进制(20,10))| round(32.54299947199998,10)| cast(round(32.54299947199998,10)为十进制(20,10))
32.5429994719 | 32.5429994720 | 32.5429994720

相关问题