gpt4 book ai didi

hadoop - 在 Hive 中将字符串值转换为十进制时为 NULL

转载 作者:可可西里 更新时间:2023-11-01 16:12:30 24 4
gpt4 key购买 nike

我使用的是 Hive 0.13,我在表的 STRING 列中有一个值,例如 1.250,99
我想将这些值转换为十进制,所以我必须替换“。”通过“”和“,”通过“。结果将是 1250.99这是我的hql语句:

cast(regexp_replace(regexp_replace(price, '\\.',''), ',','.') as decimal(18,6))  

但它返回 NULL,我想是因为转换没有成功。有什么问题?
如果我不进行转换,它会返回预期的字符串。

更新

我的问题是列中有空格,因此无法将其转换为十进制值。我在进行转换之前使用了 trim 函数。

最佳答案

试试这个:

 select cast(regexp_replace(regexp_replace('1.234,56','\\.',''),'\,','\.') as decimal(10,2));

关于hadoop - 在 Hive 中将字符串值转换为十进制时为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28347433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com