NLS_COMP与NLS_SORT参数共同决定实际使用collation
这两个参数均为设置初始session的默认设置的,如果客户端设置了NLS_LANG将会覆盖两个参数设置
另外NLS_SORT是从NLS_LANGUAGE分离出来的,如果NLS_SORT未设置则以NLS_LANGUAGE设置为准
NLS_COMP用于决定是否使用NLS_SORT参数,它有以下3个值:
NLS_COMP = { BINARY(default) | LINGUISTIC | ANSI }
1) BINARY:
Normally, comparisons in the WHERE clause and in PL/SQL blocks is binary unless you specify the NLSSORT function.(如果没使用NLSSORT函数就按binary排序)
2) LINGUISTIC:
Comparisons for all SQL operations in the WHERE clause and in PL/SQL blocks should use the linguistic sort specified in the NLS_SORT parameter.
3) ANSI:
A setting of ANSI is for backward compatibility; in general, you should set NLS_COMP to LINGUISTIC
Note: 如果未设置这个参数通过V$PARAMETER查看值为NULL, 实际就是binary
NLS_SORT = { BINARY | linguistic_definition }
用于指定具体使用的collation