中文共有三种排序方式:
1.根据拼音排序
2.根据笔画排序
3.根据偏旁排序
系统的默认排序方式为拼音排序,可以通过修改nls_sort参数修改
alter session set nls_sort = SCHINESE_STROKE_M;
基础数据,以及数据表的结构
SQL> select * from test;
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');
使用笔画排序
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行。
