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
设置的当前会话状态的方法。我检查了 view v$session
,但它没有提供任何这样的字段。我都没有使用以下方法找到这样的参数:
select sys_context('USERENV', .... ) from dual
有没有办法得到它?