oracle对汉字的排序
2017-07-12 10:02
260 查看
oracle 9i之前,对中文的排序,是默认按2进制编码来进行排序的. 9i时增加了几种新的选择:
按中文拼音进行排序:SCHINESE_PINYIN_M
按中文部首进行排序:SCHINESE_RADICAL_M
按中文笔画进行排序:SCHINESE_STROKE_M
而oracle 9i是对中文的排序是默认按拼音排序(并不是指NLS_SORT = SCHINESE_PINYIN_M,而是说SQL中不指定NLS_SORT时对中文列排序时默认按拼音)的,跟之前的2进制编码排序有所不同.具体用法如下:
直接写在sql中,例如:
SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_PINYIN_M');
SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_STROKE_M');
SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_RADICAL_M');
配置在初始化参数NLS_SORT中,这可以在数据库创建时指定,也可以通过alter session来修改.如果是前者,则在所有session中生效.例如:
使用select * from NLS_SESSION_PARAMETERS;语句可以看到NLS_SORT的值.
更改配置文件:alter system set nls_sort='SCHINESE_PINYIN_M' scope=spfile;
更改session:alter SESSION set NLS_SORT = SCHINESE_PINYIN_M;
原帖链接:http://www.cnblogs.com/discuss/articles/1866953.html
按中文拼音进行排序:SCHINESE_PINYIN_M
按中文部首进行排序:SCHINESE_RADICAL_M
按中文笔画进行排序:SCHINESE_STROKE_M
而oracle 9i是对中文的排序是默认按拼音排序(并不是指NLS_SORT = SCHINESE_PINYIN_M,而是说SQL中不指定NLS_SORT时对中文列排序时默认按拼音)的,跟之前的2进制编码排序有所不同.具体用法如下:
直接写在sql中,例如:
SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_PINYIN_M');
SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_STROKE_M');
SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_RADICAL_M');
配置在初始化参数NLS_SORT中,这可以在数据库创建时指定,也可以通过alter session来修改.如果是前者,则在所有session中生效.例如:
使用select * from NLS_SESSION_PARAMETERS;语句可以看到NLS_SORT的值.
更改配置文件:alter system set nls_sort='SCHINESE_PINYIN_M' scope=spfile;
更改session:alter SESSION set NLS_SORT = SCHINESE_PINYIN_M;
原帖链接:http://www.cnblogs.com/discuss/articles/1866953.html
相关文章推荐
- Oracle汉字排序
- Oracle 中汉字排序问题
- oracle中对数字加汉字的排序以及REGEXP_SUBSTR介绍
- Oracle中对数字加汉字的排序(完善)
- oracle sql 按照汉字规则排序
- oracle汉字排序
- Oracle汉字排序SQL
- Oracle汉字排序
- oracle 使用order by 对汉字进行多字段排序
- Oracle中对数字加汉字的排序(完善)
- oracle实现汉字按照拼音、笔画和部首排序
- 解决oracle排序时按照汉字拼音排序不正确的问题
- Oracle大文本查询 汉字按拼音排序
- Oracle汉字三种排序:nlssort函数的用法以及参数
- oracle汉字排序问题
- Oracle汉字排序SQL
- Oracle中sql,汉字按拼音、笔画、偏旁排序方法
- Hibernate 实现Oracle的中文汉字按照拼音排序 之延续,通用的查询排序能力。
- oracle中对数字加汉字的排序以及REGEXP_SUBSTR介绍
- Oracle汉字排序