如何在etext模板中格式化数字

时间:2019-05-07 10:49:27

标签: oracle bi-publisher oraclereports oracle-bi

我的BIP报告中有一个要求,如果该值为'163.8',则预期结果应为'00000163.800'

我正在使用管道分隔的etext模板。

我尝试了以下命令,但没有任何效果:

Number, ###.##
TO_NUMBER(MyStringName,'99999999.999')
TO_NUMBER(MyStringName,'00000000.000')
TO_NUMBER(MyStringName,'########.###')
FORMAT_NUMBER(MyStringName,'99999999.999')

MyString ='163.8' 预期输出='00000163.800'

2 个答案:

答案 0 :(得分:0)

如果您要转换 string (如您所说),则可以

  • 首先使用适当的格式掩码(result_1)将其转换为数字,然后转换回字符
  • 应用嵌套的RPADLPAD函数(result_2

例如:

SQL> with test (col) as
  2    (select '163,8' from dual)
  3  select
  4    to_char(to_number(col), '0000000D000') result_1,
  5    lpad(rpad(col, length(col) + 2, '0'), 11, 0) result_2
  6  from test;

RESULT_1     RESULT_2
------------ -----------
 0000163,800 0000163,800

SQL>

看看这些方法是否有帮助。

答案 1 :(得分:0)

在“格式”列中,添加数字#.00