Oracle汉字排序nls_sort

原创 2007年09月20日 18:23:00

alter session set nls_sort='schinese_pinyin_m';

select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');

Oracle9i之前,中文是按照二进制编码进行排序的。
在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值
SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序
SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序
SCHINESE_PINYIN_M 按照拼音排序,系统的默认排序方式为拼音排序

举例如下:
表名为 dept ,其中name字段是中文,下面分别实现按照单位名称的笔划、部首和拼音排序。
1: //按照笔划排序
2: select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
3: //按照部首排序
4: select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
5: //按照拼音排序,此为系统的默认排序方式
6: select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');  

oracle 使用order by 对汉字进行多字段排序

今天遇到一个奇怪的问题, 在两个不同的数据库里执行同样的sql语句, 相同的数据却排序结果不一致。   执行sql如下: select decode(brch.LOCAL, 'Y', '国内',...
  • mengxiangfeiyang
  • mengxiangfeiyang
  • 2014年03月10日 21:14
  • 3944

Hibernate 实现Oracle的中文汉字按照拼音排序

原始需求说明: 做的OA系统使用ssh+extjs,在给客户试用的时候,顾客觉得列表中中文汉字数据不是正常的按照拼音来排序的,客户就开始抱怨了,答应给客户修改,走起。 一开始以为是Extj...
  • Dracotianlong
  • Dracotianlong
  • 2013年03月05日 13:49
  • 3311

java List 的两个排序方式(附:汉字字典排序方式)

List 中的ArrayList本身是按照添加顺序排列的,但是有时候想自定义排序方式怎么办呢? 1、List中的Record 实现 Comparable接口并复写compareto方法 public ...
  • Leo_perfect
  • Leo_perfect
  • 2016年08月13日 14:51
  • 2702

oracle数据库拼音排序及NLS_SORT配置

Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。 1、设置NLS_SORT参数值SCHINESE_RADICAL_M 按照部首(第一顺序...
  • asdlsht
  • asdlsht
  • 2011年03月16日 11:23
  • 1600

验证ORACLE不同字符集中汉字占用的byte及NLS_LENGTH_SEMANTICS参数的影响

官方文档中关于NLS_LENGTH_SEMANTICS参数介绍: 可选值是BYTE | CHAR,默认是BYTE,可以在数据库和会话级动态修改。也可以在客户端环境变量中进行设置(不适合JDBC瘦客户端...
  • q947817003
  • q947817003
  • 2016年03月29日 22:50
  • 662

oracle__汉字排序

  • 2013年05月02日 14:58
  • 3KB
  • 下载

关于oracle对汉字的排序

最近项目过程中碰到对于数据进行排序按照升序排序需求。这需求貌似很简单,我没多想直接order by columnName。忽略了汉字排序的问题导致bug的出现。 业务要求,按照excel中排...
  • zhaohuanvip
  • zhaohuanvip
  • 2016年10月14日 17:20
  • 1087

Oracle中对数字加汉字的排序

转自http://blog.csdn.net/itmyhome1990/article/details/43448807 需求:有一列NAME, varchar2类型,内容如下 ...
  • u012789986
  • u012789986
  • 2017年03月09日 14:18
  • 156

oracle 使用order by 对汉字进行多字段排序

今天遇到一个奇怪的问题, 在两个不同的数据库里执行同样的sql语句, 相同的数据却排序结果不一致。   执行sql如下: select decode(brch.LOCAL, 'Y', '国内',...
  • mengxiangfeiyang
  • mengxiangfeiyang
  • 2014年03月10日 21:14
  • 3944

oracle汉字排序

方法1 原文地址:http://blog.sina.com.cn/s/blog_442fbecc0100kk6n.html 程序开发 2009-11-19 14:0...
  • wang35235966
  • wang35235966
  • 2012年10月16日 17:09
  • 283
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle汉字排序nls_sort
举报原因:
原因补充:

(最多只允许输入30个字)