博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hive数字处理
阅读量:5872 次
发布时间:2019-06-19

本文共 420 字,大约阅读时间需要 1 分钟。

  hot3.png

  1. 在hive中,两个字段做除法,如何取得想要的小数位数。
    如果非科学计数法,比如1/3,没有0,所有就不会存在科学计数法,所以如果想要取多少位,直接round(1/3,2)即可。
    如果是科学计数法,比如9/1000000001,结果中0比较多,就会存在科学计数法,这时round(9/10000000001,3)肯定是0,因为只取3位小数,四舍五入还是0,只有当你取更多位的小数时,才有可能不会四舍五入。还有有些数字即使你写了round(1/3,2)*100,按道理是整数,但是求出来的结构有可能就是带有小数的,这个地方很不解。
    一个比较明确的位数输出结果是如下结构:cast((1-t1.bad_num/t1.all_num) as decimal(10,4))*10000,这样的一定就是整数了,而且强制转换成decimal后,数据也会进行四舍五入。

转载于:https://my.oschina.net/cjun/blog/807649

你可能感兴趣的文章