Мне нужно запустить отчет с числовыми десятичными знаками в качестве параметров на разных территориях с разными NLS_NUMERIC_CHARACTERS
, иначе разделителями запятых.
NLS_NUMERIC_CHARACTERS
устанавливается на уровне сеанса, например.с
ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ',.';
Выражение NLS_NUMERIC_CHARACTERS = ',.'
означает, что десятичный маркер представляет собой запятую, а маркер тысяч - точку.
Для правильного ввода данных пользователем на всех различных территориях, которые я предполагаючто настройки NLS_NUMERIC_CHARACTERS
сеанса установлены правильно.Я хочу оценить это состояние сеанса в значение поля s_nlsparam
и использовать его для правильного преобразования параметров отчета с помощью
.. to_number(expr,format, v_nlsparam) ...
пока что плана.Это могло бы укротить любой потенциальный ORA-01722: invalid number
в многонациональном контексте.
Теперь я не могу найти способ прочитать текущее состояние сеанса настроек NLS_NUMERIC_CHARACTERS
.Я проверил представление v$session
, но оно не предлагает такого поля.Также я не нашел такой параметр, используя:
select sys_context('USERENV', .... ) from dual
Есть ли способ получить его?