中文字符按拼音排序

时间:2021-07-05 07:50:37
SELECT *
  FROM (SELECT '张三' NAME
          FROM DUAL
        UNION ALL
        SELECT '李四' NAME
          FROM DUAL
        UNION ALL
        SELECT '王五' NAME FROM DUAL)
 ORDER BY NLSSORT(NAME, 'NLS_SORT=SCHINESE_PINYIN_M');
 
第一个参数是需要排序的字段。
 
第二个参数值可选下列字符串
SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 
SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 
SCHINESE_PINYIN_M 按照拼音排序,系统的默认排序方式为拼音排序