0

我在休眠状态下设置了 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.

我究竟做错了什么?

4

1 回答 1

2

我认为函数NLS_COMP中没有参数 forSYS_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; 
于 2012-09-24T10:33:54.383 回答