中文共有三种排序方式:
1.根据拼音排序 2.根据笔画排序 3.根据偏旁排序
系统的默认排序方式为拼音排序,可以通过修改nls_sort参数修改 alter session set nls_sort = SCHINESE_STROKE_M;
基础数据,以及数据表的结构 SQL> select * from test;
NAME -------------------------------------------------------------------------------- 忠 周 作 就 一 不 众 仁
已选择8行。
使用拼音排序 SQL> select * from test order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');
NAME -------------------------------------------------------------------------------- 不 就 仁 一 忠 众 周 作
已选择8行。
使用笔画排序 SQL> select * from test order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
NAME -------------------------------------------------------------------------------- 一 不 仁 众 作 周 忠 就
已选择8行。
使用偏旁部首排序 SQL> select * from test order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
NAME -------------------------------------------------------------------------------- 一 不 仁 众 作 周 就 忠
已选择8行。
系统的默认排序方式 19:04:04 SQL> select * from test order by test;
SQL> select * from test order by name;
NAME -------------------------------------------------------------------------------- 不 就 仁 一 忠 众 周 作
已选择8行。
|