Мы создаем отчеты, используя APEX, и нам нужно представить числа с "," в качестве десятичного разделителя и "" в качестве разделителя тысяч. Например: 1000000.001
становится 1 000 000,001
В настоящее время мы используем решение для форматирования каждого столбца наших отчетов в запросе:
select to_char(value_to_display,'999G999G999G999D9999999','nls_numeric_characters='', ''') value_to_display,
...
from ...
;
Это работает, но не аккуратно, так как его нельзя легко изменить сразу, это требует, чтобы мы делали это для каждого столбца, который нам нужно отформатировать.
Мы хотели бы установить другое значение nls_numeric_characters на уровне сеанса, если это возможно, и переопределить конфигурацию NLS по умолчанию, которая, кажется, извлекается из настроек браузера, поскольку активация отладки показывает мне:
Language derived from: FLOW_PRIMARY_LANGUAGE, current browser language: en
alter session set nls_language='AMERICAN' nls_territory='AMERICA'
Кто-нибудь знает, какое изящное решение заставит 'nls_numeric_characters' проходить через сеанс (установить "при загрузке страницы" или что-то в этом роде) или даже по всему приложению (установить один раз для всех для всех страниц / сеансов)?