说明:Hive中int , float , double这些数值类型在存储大额度数字时,在前端展现上总是使用科学计数法来表示,
这样搞的挺烦。举例说明
样例数据:
select lte_drop_rate from t_table limit 10;
输出结果:
5.0E-4
7.1E-4
5.41E-4
...
...
处理方案:
select
(case
--处理非科学计数法表示的字符串
when length(regexp_extract(lte_drop_rate,'([0-9]+\\.)([0-9]+)(E-*[0-9]+)',2))=0
then lte_drop_rate
--处理整数
这样搞的挺烦。举例说明
样例数据:
select lte_drop_rate from t_table limit 10;
输出结果:
5.0E-4
7.1E-4
5.41E-4
...
...
处理方案:
select
(case
--处理非科学计数法表示的字符串
when length(regexp_extract(lte_drop_rate,'([0-9]+\\.)([0-9]+)(E-*[0-9]+)',2))=0
then lte_drop_rate
--处理整数