前面介绍了Oracle的基本参数,从这节开始讲其他的参数,参数从v$parameter中提取

基本参数请看如下链接:
[http://www.zhaibibei.cn/oralce/oracle-parameter/](http://www.zhaibibei.cn/oralce/oracle-parameter/)

如无特殊说明数据库版本为11.2

-------

**nls_sort**


[image:240 size:orig]




1. 参数类型:字符串
2. 语法: NLS_SORT = { BINARY | linguistic_definition }
3. 默认值:NLS_LANGUAGE参数决定
3. 可在会话级别修改
4. 取值范围:BINARY或其他有效的语言名称



--------

**文字排序**

该参数决定字符排序动作时用的方式,包括如下:

-  ORDER BY,
-  GROUP BY,
-  comparison conditions (=, <>, <=, >=)
-   IN,
-  BETWEEN
-  LIKE
-  MIN/MAX
-  GREATEST/LEAST
-   INSTR

如果为BINARY,则按照字符的二进制代码进行比较,排序由其字符集决定(VARCHAR2, CHAR, LONG, CLOB,NVARCHAR2, NCHAR,  NCLOB)),即该字符在字符集中的顺序

如果为一个linguistic,则按照该语言的的排序方式来进行,一般是其字典和电话本的排序,例如按照偏旁部首

该参数影响查询的执行计划

该参数的内容会被客户端的环境变量(NLS_LANG)所覆盖


---------

**BINARY vs  linguistic**

二进制比较比其他任何语言比较消耗的资源更少也更快,但是在文本比较重无法给我们想要的结果


-----------

**实际截图:**


[image:241 size:orig]

[image:242 size:orig]





-----

**参考连接**

[https://docs.oracle.com/cd/B19306_01/server.102/b14237/initparams120.htm#REFRN10117](https://docs.oracle.com/cd/B19306_01/server.102/b14237/initparams120.htm#REFRN10117)

[https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams155.htm#REFRN10127](https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams155.htm#REFRN10127)

----------

下期参数

**nls_date_language**