前言:
不做处理,直接用order by排序的话,其实是按对应字符的ASCII码排的。如果是一级汉字(常用汉字)没有问题,和拼音排序是一致的,但是二级汉字(不常用汉字)就有问题了
正文:
1,按照拼音顺序
ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_PINYIN_M')
2,按照部首顺序
ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_RADICAL_M')
3,按照笔画顺序
ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_STROKE_M')
参考博客:
ORACLE的order by中文排序-百度经验
https://jingyan.baidu.com/article/d621e8da17f00c2865913fd4.html?qq-pf-to=pcqq.c2c