从十进制转换为字符串的Hive会截断该值

时间:2016-11-25 00:02:30

标签: hadoop hive cloudera hiveql

使用cast()函数将十进制值转换为字符串会截断结果值,例如:

hive -e "select cast(cast('0.1629369395016511130907901977737025' as decimal(38,38)) as string)"

返回:

0.162936939501651113

如果十进制首先转换为 varchar ,然后再转换为字符串,则结果是正确的:

hive -e "select cast(cast(cast('0.1629369395016511130907901977737025' as decimal(38,38)) as varchar(38)) as string)"

返回:

0.1629369395016511130907901977737025

我使用Hive版本1.1.0-cdh5.7.0

0 个答案:

没有答案