sql - 我需要在Hive中将小数点位置向左或向右移动而不四舍五入

标签 sql function hadoop hive decimal

我有一个数字(可能是12345或123.45)。
我需要将Hive中的小数点位置向左或向右移动而不进行舍入。
问题1

select 1001.123*POW(10,-2);

10.011230000000001

select 1001.123/100;

10.011230000000001
但是我希望这是10.01123。
问题2
但是如果是下面这样的情况
select 1000*POW(10,-2);

10.00
请建议我一些功能或过程。

最佳答案

您可以尝试以下一种。

SELECT CASE WHEN @value <> CEILING(@value) THEN Str(@value, 12, 4) ELSE Str(@value, 12, 2) END

关于sql - 我需要在Hive中将小数点位置向左或向右移动而不四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52970709/

相关文章:

sql - 更改表/分区的工作 “Concatenate”命令

hadoop - 写elasticsearch时Spark不支持arraylist吗?

sql - 选择相关表中具有一定行数的行数

sql - 将对象插入 SQL Server 中的 JSON 数组

python - 将所有数字相加的递归函数

string - Haskell 同时获取和删除

java - 将参数传递给 AIDL

javascript - 使用 javascript 快速连接到数据库

python - 区分大小写的查询返回字符串而不是列表

sql - 如何使用rank函数获取hive中的最新记录