我需要将数字截断为点后的 4 位数字,而不对其进行四舍五入。我尝试使用 format_number(num,4),但它确实进行了四舍五入。我需要截断它而不四舍五入,只是为了扔掉其他数字。有什么想法吗?
有两种
方法可以做到这一点,因为所有 hive 提供的函数最终都会四舍五入。
- 您将双倍乘以 10000 -> 投射/格式化为 INT 以删除数字 -> 除以 10000
- 您可以编写自己的 UDF 来执行此操作。编写 UDF 非常简单。这是开始的链接
http://lets-do-something-big.blogspot.com/2014/02/hive-udf-example.html