Hive 如何在配置单元中转换运行时的十进制值

Hive 如何在配置单元中转换运行时的十进制值,hive,hiveql,Hive,Hiveql,我需要根据指示符字段中指定的数字将金额值转换为十进制 例如,如果金额为20000,且dec_指示器的值为2,则金额为200.00 如果金额为500,且dec_指示器的值为1,则金额将为50.0,依此类推 十进制位置值来自同一表格中的dec_指示器列 我在下面试过了 select decimal(amount,dec_indicator) as new_col from data_table ; 它不起作用 如何在蜂箱中实现这一点 with t as (select 12345 as amoun

我需要根据指示符字段中指定的数字将金额值转换为十进制 例如,如果金额为20000,且dec_指示器的值为2,则金额为200.00 如果金额为500,且dec_指示器的值为1,则金额将为50.0,依此类推 十进制位置值来自同一表格中的dec_指示器列 我在下面试过了

select decimal(amount,dec_indicator) as new_col from data_table ;
它不起作用

如何在蜂箱中实现这一点

with t as (select 12345 as amount,2 as dec_indicator)
select  amount / power(10,dec_indicator)
from    t
;
123.45