NLS_SORT NLS_COMP读取错误

时间:2012-05-29 10:35:05

标签: oracle environment-variables nls

我在休眠中设置了NLS_SORT和NLS_COMP:

Hibernate: ALTER SESSION SET NLS_COMP=BINARY
Hibernate: ALTER SESSION SET NLS_SORT=BINARY

之后我尝试使用以下方式阅读:

select * from nls_session_parameters where parameter in('NLS_SORT','NLS_COMP');
SELECT SYS_CONTEXT ('USERENV', 'NLS_SORT') FROM DUAL;

此查询返回错误的值:

PARAMETER                      VALUE                                   
------------------------------ ----------------------------------------
NLS_SORT                       RUSSIAN                                 
NLS_COMP                       BINARY                                  

2 rows selected.

SYS_CONTEXT('USERENV','NLS_SORT')                                               
--------------------------------------------------------------------------------
RUSSIAN                                                                         
1 row selected.

我做错了什么?

1 个答案:

答案 0 :(得分:2)

我认为NLS_COMP函数

中没有SYS_CONTEXT的参数

验证

NLS_CALENDAR 当前会话的当前日历。

SELECT sys_context('USERENV', 'NLS_CALENDAR') FROM DUAL; 

NLS_CURRENCY 当前会话的货币。

SELECT sys_context('USERENV', 'NLS_CURRENCY') FROM DUAL; 

NLS_DATE_FORMAT 会话的日期格式。

SELECT sys_context('USERENV', 'NLS_DATE_FORMAT') FROM DUAL; 

NLS_DATE_LANGUAGE 用于表达日期的语言。

SELECT sys_context('USERENV', 'NLS_DATE_LANGUAGE') FROM DUAL; 

NLS_SORT BINARY或语言排序依据。

SELECT sys_context('USERENV', 'NLS_SORT') FROM DUAL; 

NLS_TERRITORY 当前会话的范围。

SELECT sys_context('USERENV', 'NLS_TERRITORY') FROM DUAL;