Oracle汉字排序
2008-04-29 20:10
197 查看
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下面的实现方式并不相同。
文章引用自:
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下面的实现方式并不相同。
文章引用自:
相关文章推荐
- oracle中,为什么同样是对汉字进行排序,两个库的排序结果不一样?
- oracle对汉字排序
- Oracle中sql,汉字按拼音、笔画、偏旁排序方法
- Oracle汉字排序
- oracle汉字排序
- Oracle中对数字加汉字的排序(完善)
- oracle汉字排序
- oracle 汉字拼音首字母排序
- Oracle中对数字加汉字的排序(完善)
- Hibernate 实现Oracle的中文汉字按照拼音排序
- Oracle汉字排序SQL
- oracle对汉字的排序
- Oracle汉字排序SQL
- Oracle sql以某个汉字的字段的汉语拼音作为排序,java代码排序不能按要求显示序列号
- ORACLE 提取汉字拼音首字母及汉字排序
- Oracle中对数字加汉字的排序(完善)
- Hibernate 实现Oracle的中文汉字按照拼音排序 之延续,通用的查询排序能力。
- Oracle 的汉字排序问题
- oracle 使用order by 对汉字进行多字段排序
- oracle 非GBK字符集编码的汉字排序