[英]Hive SQL Cast returning integer
我正在尝试将字符串强制转换为小数,并且它不断返回整数。
输入和预期输出如下:
0 0
14400 144.00
-11800 -118.00
42400 424.00
60200 602.00
217400 2174.00
5000 50.00
我在用:
Cast(Trim(POLAMNT) as Decimal(10,2)) as POLICYAMNT
但它返回的值不带小数。
Hive 正在创建正确的类型。 无论打印出什么结果,都对删除.00
有利。 SQL不太友好。 因此,将结果转换回字符串:
cast(cast(trim(POLAMNT) as decimal(10,2)) as string) as POLICYAMNT
这应该恰好有两个小数位。
编辑:
我看错了问题。 您似乎只想要:
cast(trim(POLAMNT) as decimal(10,2)) / 100
Cast(Trim(POLAMNT) as Decimal) / pow(10,2) as POLICYAMNT
是实现我所需要的最快(也是最简洁)的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.