如何处理信息中的指数值

问题描述 投票:-1回答:2

我正在尝试将具有少数字段指数值的csv文件加载到SQL Server表中。这些指数值需要转换为以下所示的varchar格式。我尝试了几种情况都不理想的情况。您能建议我如何处理这些值吗?

输入值:1.12001E + 17预期输出:1000000JPM10000000

TIA !!

sql sql-server etl informatica
2个回答
0
投票

在表达式中使用to_char(输入值)。


0
投票

我不确定1000000JPM10000000。您是不是要1.11.1 * 10 Power(17)。如果是,则可以拆分字符串并分别处理。

v_col_exp_val = SUBSTR(col_name, instr(col_name,'E+'))v_col_base_val = SUBSTR(col_name,1, instr(col_name,'E+'))out_col_name = IIF ( instr(col_name,'E+')=0, col_name, v_col_base_val * POWER( 10, v_col_exp_val)

这将考虑数据是否也具有指数值。

HTH

© www.soinside.com 2019 - 2024. All rights reserved.