Oracle下的中文排序
2010-04-21 13:12
330 查看
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');
注意,该
SQL指令并非标准指令,在SQLServer下面的实现方式并不相同。
转自:http://blog.chinaunix.net/u/28618/showart_464260.html
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');
注意,该
SQL指令并非标准指令,在SQLServer下面的实现方式并不相同。
转自:http://blog.chinaunix.net/u/28618/showart_464260.html
相关文章推荐
- ORACLE中文排序方式 vs SQL Server 2005的中文排序问题
- Oracle 中文字段进行排序的sql语句
- Oracle 中文排序
- ORACLE中文排序及在table中指定位置增加字段本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2009/0531/5086.php
- oracle中文字符按拼音排序
- ORACLE中文排序方式 vs SQL Server 2005的中文排序问题
- Oracle中按照中文字段排序
- oracle对中文的排序
- oracle 中文字段按首字母拼音排序
- Oracle 中文排序
- Oracle中针对中文进行排序
- oracle按中文拼音进行排序
- Oracle经典sql语句总结@sql-plus重点函数串讲与sql语句案例@中文排序详讲).doc
- Oracle中针对中文进行排序
- ORACLE中文排序方式
- Oracle中针对中文进行排序
- Oracle 如何对中文字段进行排序
- oracle中文(utf8)按拼音排序的简单解决方案
- ORACLE中文排序方式 vs SQL Server 2005的中文排序问题
- Oracle 中文字段进行排序的sql语句