hive 如何在配置单元中将值转换为十进制

ar5n3qh5  于 2022-12-18  发布在  Hive
关注(0)|答案(1)|浏览(275)

这是我正在处理的“金额”列的示例。我需要删除所有“+”和“-”以及所有前导零,然后转换为十进制。也有只有零存在的情况,我不确定什么是最好的方法。有更好的解决方案吗?请帮助解决这个问题。

Amount
    -0000211
    +0000101
    +0000000
    +0000013

    CAST(CAST(CAST(Amount as INT) AS varchar(8)) as decimal(8,2)) from payment_table;
6tqwzwtp

6tqwzwtp1#

使用abs()删除+/-和0,然后使用cast()转换为十进制。

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

相关问题