oracle 汉字排序

  1、使用拼音排序   NLS_SORT=SCHINESE_PINYIN_M
        2、使用笔画排序   NLS_SORT=SCHINESE_STROKE_M 第一顺序笔画,第二顺序部首;
        3、使用偏旁部首排序    NLS_SORT=SCHINESE_RADICAL_M 第一顺序部首,第二顺序笔画;
     
        这样,就可以在查询的时候,指定汉字的排序方式,设定方式可以分为以下三个级别:
        1、语句级别设置排序方式:
             按照笔划排序:
              select * from table order by nlssort(col,'NLS_SORT=SCHINESE_STROKE_M');
              按照部首排序:
              select * from table order by nlssort(col,'NLS_SORT=SCHINESE_RADICAL_M');
              按照拼音排序:
             select * from table order by nlssort(col,'NLS_SORT=SCHINESE_PINYIN_M');
        2、Session级别的设置,修改ORACLE字段的默认排序方式:
              按拼音:alter session set nls_sort = SCHINESE_PINYIN_M;
              按笔画:alter session set nls_sort = SCHINESE_STROKE_M;
              按偏旁:alter session set nls_sort = NLS_SORT=SCHINESE_RADICAL_M;
        3、修改系统参数(数据库所在操作系统):
               set NLS_SORT=SCHINESE_RADICAL_M ;
               export NLS_SORT (sh)setenv NLS_SORT SCHINESE_RADICAL_M (csh) 
               HKLC\SOFTWARE\ORACLE\home0\NLS_SORT (win注册表);

猜你喜欢

转载自672627493.iteye.com/blog/2096243