- Если в поле не отображается символ валюты или десятичный разделитель, который вы ожидаете:
Символы, используемые для L
(валюта) и D
(десятичный разделитель), определяются настройками сеанса NLS_NUMERIC_CHARACTERS
и NLS_CURRENCY
, которые по умолчанию определяются Первичным языком приложения (см. Атрибуты приложения -> Глобализация ).
Чтобы переопределить значения по умолчанию, предоставляемые основным языком приложения, вы можете установить параметр сеанса в настройке PL / SQL инициализации сеанса ( Атрибуты приложения -> Безопасность -> Инициализация PL / SQL кода ):
dbms_session.set_nls('nls_numeric_characters', q'[', ']');
dbms_session.set_nls('nls_currency', q'['$']');
В приведенном выше примере десятичный разделитель - запятая (,
), разделитель группы - пробел (
), а символ валюты - $
.
- Если поле вообще не использует маску формата:
Возможно, вам потребуется указать маску формата непосредственно в PL / SQL-выражении , например,
to_char(
nvl(:P18_COST_JOB_PROFIT,0)/100*nvl(:P18_SUBTOTAL_LABEL_TOTAL,0)
,'FML999G999G999G999G990D00'
,q'[nls_numeric_characters=', ' nls_currency='$']')