ORACLE中文排序

liuya1985liuya發表於2007-12-27

Oracle9i之前,中文是按照二進位制編碼進行排序的。
在oracle9i中新增了按照拼音、部首、筆畫排序功能。設定NLS_SORT值
SCHINESE_RADICAL_M 按照部首(第一順序)、筆劃(第二順序)排序
SCHINESE_STROKE_M 按照筆劃(第一順序)、部首(第二順序)排序
SCHINESE_PINYIN_M 按照拼音排序
修改ORACLE欄位的預設排序方式:
按拼音(預設):  alter session set nls_sort = SCHINESE_PINYIN_M;
按筆畫:alter session set nls_sort = SCHINESE_STROKE_M;
按偏旁:alter session set nls_sort = NLS_SORT=SCHINESE_RADICAL_M;


select * from cc order by nlssort(b,'NLS_SORT=SCHINESE_PINYIN_M');
說明:按拼音字母(英文字母)排序是ORACLE預設的排序方式,除非已經修改過

select * from cc order by nlssort(b,'NLS_SORT=SCHINESE_STROKE_M');

select * from cc order by nlssort(b,'NLS_SORT=SCHINESE_RADICAL_M');

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8750110/viewspace-6698/,如需轉載,請註明出處,否則將追究法律責任。

相關文章