Hive 从 Double 转换为 String 不在科学中

标签 hive

我有一个列 double 类型的表,我试图将它从 double 转换为字符串。

但是,当我使用 cast 命令时,它“巧妙地”将其转换为科学记数法。像下面这样:

select 
    number, 
    cast(number as string), 
from ...

看起来像
number     c1_
9999999902  9.999999902E9
9999999902  9.999999902E9
9999999902  9.999999902E9
9999999902  9.999999902E9
9999999909  9.999999909E9

谁能告诉我如何避免将其转换为科学并保留原始文本?

最佳答案

Hive 支持好老 printf()功能,以便您可以明确控制输出格式 - 检查 Language Manual UDF在“字符串函数”下

关于Hive 从 Double 转换为 String 不在科学中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32576187/

相关文章:

sql - 计算配置单元数据中的大多数条目(模式)

scala - Hive UDF 在 Scala 中处理整数数组

database - 执行查询时,hive 是否运行 hadoop?

hadoop - Apache Sentry 引用中的 'limited to Hive table data' 是什么意思?

hadoop - 将空字符串选择/视为 NULL 的 Hive 解决方案

java - 什么是 hbase 压缩文件大小

java - 如何使用最后一个输入行转发 Hive UDTF 输出

amazon-web-services - AWS EMR 错误 : All slaves in the job flow were terminated

hadoop - Hive 索引 mapreduce 内存错误

bash - 从 Apache Hive 运行 bash 别名