hive数字处理

  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后,数据也会进行四舍五入。
相关文章
相关标签/搜索