oracle中文排序

233 阅读1分钟

在开发过程中,某些情况需要对中文进行排序,在oracle 9i中增加了中文排序的功能.

方案:用nlsort函数

  • SCHINESE_PINYIN_M: 按照拼音排序
  • SCHINESE_RADICAL_M: 按照部首(第一顺序),笔画(第二顺序)排序
  • SCHINESE_STROKE_M: 按照笔画排序(第一顺序),部首(第二顺序)排序

案例

// 拼音
select * from emp order by nlssort(TRUENAME, 'NLS_SORT=SCHINESE_PINYIN_M')
// 部首
select * from emp order by nlssort(TRUENAME, 'NLS_SORT=SCHINESE_RADICAL_M')
// 笔画
select * from emp order by nlssort(TRUENAME, 'NLS_SORT=SCHINESE_STROKE_M')