Hive中如何将值转换为十进制



这是"Amount"我正在努力。我需要删除所有'+'和'-'以及所有前导零,然后转换为十进制。也有一些情况下,只有零存在,我不确定什么是最好的方法。有没有更好的解决方案?请帮帮忙。

Amount
-0000211
+0000101
+0000000
+0000013
CAST(CAST(CAST(Amount as INT) AS varchar(8)) as decimal(8,2)) from payment_table;

使用abs()去除+/-和0,然后使用cast()转换为小数

select CAST( ABS(Amount) as DECIMAL(8,2)) as ret_Amount -- this will return 211.00

最新更新