ORACLE默认所存的值是取分大小写的,但有些需求想忽略大小写,今天就浅谈一下nls_sort ,nls_comp实现查询忽略大小写查询

anbob@ORCL>select*fromtestci ;

IDNAMEREMARK

---------- -------------------- --------------------

1 alowercode

1 Auppercode

anbob@ORCL>select*fromtestciwherename='a';

IDNAMEREMARK

---------- -------------------- --------------------

1 alowercode

anbob@ORCL>select*fromv$nls_parameterswhereparameter ='NLS_SORT';

PARAMETER                         VALUE

-------------------------------- ----------------

NLS_SORTBINARY

anbob@ORCL>ALTERSESSIONSETNLS_SORT='BINARY_CI';

Session altered.

anbob@ORCL>select*fromtestciwherename='a';

IDNAMEREMARK

---------- -------------------- --------------------

1 alowercode

anbob@ORCL>select*fromv$nls_parameterswhereparameter ='NLS_COMP';

PARAMETER                         VALUE

---------------------------------- ------------------

NLS_COMPBINARY

anbob@ORCL>ALTERSESSIONSETNLS_COMP=LINGUISTIC;

Session altered.

anbob@ORCL>select*fromtestciwherename='a';

IDNAMEREMARK

---------- -------------------- --------------------

1 alowercode

1 Auppercode

anbob@ORCL> select * from testci ;

ID NAME REMARK

---------- -------------------- --------------------

1 a lower code

1 A upper code

anbob@ORCL> select * from testci where name='a';

ID NAME REMARK

---------- -------------------- --------------------

1 a lower code

anbob@ORCL> select * from v$nls_parameters where parameter ='NLS_SORT';

PARAMETER VALUE

-------------------------------- ----------------

NLS_SORT BINARY

anbob@ORCL> ALTER SESSION SET NLS_SORT='BINARY_CI';

Session altered.

anbob@ORCL> select * from testci where name='a';

ID NAME REMARK

---------- -------------------- --------------------

1 a lower code

anbob@ORCL> select * from v$nls_parameters where parameter ='NLS_COMP';

PARAMETER VALUE

---------------------------------- ------------------

NLS_COMP BINARY

anbob@ORCL> ALTER SESSION SET NLS_COMP=LINGUISTIC;

Session altered.

anbob@ORCL> select * from testci where name='a';

ID NAME REMARK

---------- -------------------- --------------------

1 a lower code

1 A upper code

NLS_COMP:

确定数据库中值的比较,10G中增加了LINGUISTIC,根据nls_sort参数指定进行比较,用来取代ansi,但ANSI为了向后兼容保留,还有一个值是BINARY根据字符的二进制值比较也是默认值,总共三个值

note:To improve the performance, you can also define a linguistic index on the column for which you want linguistic comparisons.

nls_sort:

指定order by 的查询顺序,If the value is BINARY, then the collating sequence for ORDER BY queries is based on the numeric value of characters.

note: If the value is a named linguistic sort, sorting is based on the order of the defined linguistic sort. Most (but not all) languages supported by the NLS_LANGUAGE parameter also support a linguistic sort with the same name.

值非常多,可以通过V$NLS_VALID_VALUES where parameter=’SORT’ 查询

不过修改任何参数都要考虑性能问题

Setting NLS_SORT to anything other than BINARY causes a sort to use a full table scan, regardless of the path chosen by the optimizer. BINARY is the exception because indexes are built according to a binary order of keys. Thus the optimizer can use an index to satisfy the ORDER BY clause when NLS_SORT is set to BINARY. If NLS_SORT is set to any linguistic sort, the optimizer must include a full table scan and a full sort in the execution plan. 因篇幅原因 就说这些,其实与这两个参数相关的还有很多…

oracle查询显示小写,oracle查询区分大小写相关推荐

  1. asp oracle 分页显示,asp + oracle 分页方法(不用存储过程)

    asp 中查询 oracle数据库 的分页程序,没有用存储过程,效率还可以. 代码如下: ''''  塞北的雪  分页利器(oracle)  不用存储过程   -------------------- ...

  2. oracle 如何显示 比例,Oracle中如何兼得比例和时间

    在以前的版本中,Oracle的时间计量单位是厘秒,使用厘秒最显而易见的问题就是可能有些操作是小于厘秒的.看上去这似乎不太常见,但是实际上在操作系统上很多操作都是以微妙作为单位的,这意味着操作的起始和终 ...

  3. mongo 查询显示字段_MongoDB查询操作限制返回字段的方法

    映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中要包含或者排除的字段.可以指定要包含的字段(例如:{field:1})或者指定要排除的 ...

  4. 若依后台实现表连接查询显示,一对一查询

    给第一次用若依的小猿们分享下代码 类似案例,员工对部门,员工表去连接部门表的部门名称. 应用到 一对一 查询出部门的id和名称 1.sql语句需要表连接 2.在员工实体中加入部门的实体并set,get ...

  5. mongo 查询显示字段_MongoDB查询指定字段(field)返回指定字段的方法

    使用MongoDB的时候需要只查询指定的字段进行返回,也就是类似mysql里面的 SELECT id,name,age 这样而不是SELECT *.在MongoDB里面映射(projection)声明 ...

  6. oracle中显示周,oracle中得到一段时间内天,月,周列表

    --周列表 select ww, '第'|| ROWNUM || '周' from (select distinct (to_char(dt, 'yyiw')) ww from ( select (t ...

  7. MySql 查询显示

    使用命令行进行查询数据库,查询数据表,查询数据表内容. 1.打开命令行 2.连接MySql数据库 连接成功如下图所示 3.查询显示所有数据库 查询所有数据库 语句: show databases; 4 ...

  8. day02: SQL_DML, oracle中sql的各种查询

    1.oraclesql的特性 pLsql显示: 修改显示的格式 SQL> set pagesize 300; SQL> set linesize 300; SQL> select e ...

  9. oracle查询表的意思,Oracle表的查询(一)

    表查询 关键字.字段.表名不加引号时不区分大小写 引号定义的内容区分大小写 运算中有null值时,结果为null *nvl(字段,赋值):如果字段值为null,则取后面一个值 *like 关键字:%表 ...

  10. oracle连续月份列表,Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析...

    Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析 本文实例讲述了Oracle实现查询2个日期所跨过的月份列表/日期列表的方法.分享给大家供大家参考,具体如下: 1.基本逻辑公式: Se ...

最新文章

  1. 编写文档_如何通过编写优质文档来使自己的未来快乐
  2. android 自定义span_Android – 为ClickSpan设置自定义可绘制背景
  3. 编程用的记事本软件_数控常用编程软件那么多,你用哪一种?
  4. b+tree数据结构可视化_数据结构: B+Tree及其应用
  5. open 端口打开Linux,linux – nmap显示打开的端口,但netstat没有
  6. iOS开发-XMPP
  7. 作者:马朝辉(1974-),男,华南师范大学计算机学院博士生。
  8. 配置鸿蒙Windows烧录环境 用Hiburn烧录第一个程序
  9. python爬取论文代码_Python selenium爬取微信公众号文章代码详解
  10. actor对自己不可见
  11. ReentrantLock 源码解析
  12. 如何使用Movavi Screen Recorder在Mac上同时录制屏幕和音频
  13. 2个月面了鹅厂的5个部门,心态差点奔溃了......
  14. vs2008中文版提供下载(包含中文msdn)
  15. 中职一年级c语言考试试卷,一年级C语言课后习题答案.doc
  16. meterpreter里面cmd乱码解决方法chcp 65001
  17. 一键清除windows远程桌面访问痕迹bat脚本
  18. java openxml_Excel单元格中的OpenXml和Date格式
  19. 7 tips for using UIWebView
  20. 什么是Java(什么?Java?)

热门文章

  1. web安全:sql 注入
  2. Java 8 vs. Scala(二):Stream vs. Collection
  3. C#3.0中的扩展方法
  4. BZOJ2281 [SDOI2011]黑白棋 【dp + 组合数】
  5. C++ 头文件系列(iostream)
  6. winserver 08 64位安装sql05 64位提示asp版本注册
  7. 推荐12个漂亮的CSS3按钮实现方案
  8. 白鸦:我印象中的Keso
  9. 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果及其他。
  10. Tri-training regression, 协同训练回归