【发布时间】:2023-01-12 17:56:45
【问题描述】:
你好,我需要更换。(点)通过一个逗号(,)在 Hive 的物化视图的某个列中,然后将其投射到双/小数数据类型。
我的数据看起来像:11.1247653
所以我尝试使用:
SELECT CAST(regexp_replace('11.1247653','.',',') as double)
这次回归无效的价值观。谢谢你的帮助 !
【问题讨论】:
你好,我需要更换。(点)通过一个逗号(,)在 Hive 的物化视图的某个列中,然后将其投射到双/小数数据类型。
我的数据看起来像:11.1247653
所以我尝试使用:
SELECT CAST(regexp_replace('11.1247653','.',',') as double)
这次回归无效的价值观。谢谢你的帮助 !
【问题讨论】:
您无需替换点即可转换为十进制。 Hive 遵循International Bureau of Weights and Measures 标准并使用点表示小数点。所以数据实际上存储在点中。
所以你应该使用下面的命令。
CAST('11.1247653' as double) as out
如果你必须用逗号显示,那么你可以使用 replace 将点替换为逗号。
【讨论】: