Как отформатировать число в шаблоне etext - PullRequest
0 голосов
/ 07 мая 2019

В моем отчете 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'

1 Ответ

0 голосов
/ 07 мая 2019

Если вы конвертируете строку (как вы сказали), вы можете

  • сначала преобразовать ее в число, а затем обратно в символ, используя маску соответствующего формата(result_1)
  • применить вложенную функцию RPAD & LPAD (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>

Посмотреть, если естьиз этих помогает.

...