как отобразить числовое значение в словах и десятичных числах - PullRequest
0 голосов
/ 06 мая 2019

Как отобразить целое число в словах в оракуле

Вот запрос sql, который я пробовал. select to_char( to_date(5373484,'J'),'Jsp') from dual;

Похоже, что приведенный выше запрос не поможет, если это целое число Я хочу преобразовать целое число, т.е. 515.24, в слова, подобные приведенным ниже в Oracle. Five hundred and fifteen and 24 cents.

1 Ответ

2 голосов
/ 06 мая 2019

Простой пример, который проверяет, есть ли десятичные дроби. Если это так, они пишутся отдельно.

SQL> with test (col) as
  2    (select 4432 from dual union all
  3     select 515.24 from dual
  4    ),
  5  inter as
  6    (select col,
  7            regexp_substr(col, '^\d+') fir,
  8            case when col <> round(col) then regexp_substr(col, '\d+$') end sec
  9     from test
 10    )
 11  select col,
 12    to_char(to_date(fir, 'J'), 'JSP') ||
 13    case when sec is not null then ' and ' || to_char(to_date(sec, 'J'), 'JSP') ||' cents' end spell
 14  from inter;

       COL SPELL
---------- --------------------------------------------------
      4432 FOUR THOUSAND FOUR HUNDRED THIRTY-TWO
    515,24 FIVE HUNDRED FIFTEEN and TWENTY-FOUR cents

SQL>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...