oracle中检索结果汉字首字母排序详解
今天写需求,要求将结果按照成本中心首字母排序,平且空放在最前面。
进入正题:
1。使用oracle自带的函数:
按照首字母排序:nlssort(xxx,'NLS_SORT=SCHINESE_PINYIN_M')
例如:select * from qin t order by nlssort(t.ename,'NLS_SORT=SCHINESE_PINYIN_M');
将空值放在最前面只需要加上 nulls first
例如:select * from qin t order by nlssort(t.ename,'NLS_SORT=SCHINESE_PINYIN_M') nulls first;
我们可以轻松的实现这种排序。
扩展:按照笔画排序:nlssort(xxx,'NLS_SORT=SCHINESE_STROKE_M');
按照部首排序: nlssort(xxx,‘NLS_SORT=SCHINESE_RADICAL_M’);
将null放在最后是: nulls last
越努力越幸运