Oracle漢字排序

2021-05-22 06:40:08 字數 528 閱讀 9675

使用一下sql

*t_0303003 

bystock_holder

進行選取資料時(stock_holder為存放中文的字段),結果發現兩庫返回的記錄順序不一致。琢磨之後應該為字符集問題,乙個庫字符集為系統預設字符集,另乙個庫為utf-8字符集。查詢資料後發現,對於中文字段的排序,應該使用以下方式:

按拼音排序 (系統預設)

*t_0303003 

bynlssort(stock_holder,

' nls_sort=schinese_pinyin_m

' );

按部首排序 

*t_0303003 

bynlssort(stock_holder,

' nls_sort=schinese_radical_m

' );

按筆畫排序 

*t_0303003 

bynlssort(stock_holder,

' nls_sort=schinese_stroke_m

' );

oracle 漢字排序

1 使用拼音排序 nls sort schinese pinyin m 2 使用筆畫排序 nls sort schinese stroke m 第一順序筆畫,第二順序部首 3 使用偏旁部首排序 nls sort schinese radical m 第一順序部首,第二順序筆畫 這樣,就可以在查詢的時...

oracle對漢字排序

原文見 漢字排序須綜合考慮資料庫字符集 nls sort 檢視資料庫字符集 select userenv language from dual 如果字符集為zhs16gbk zh16gbk,那麼使用order by預設是按照漢字的拼音順序進行排序的 如果為其他 如utf8 那麼漢字的排序是按照bin...

Oracle 中漢字排序問題

oracle9i對漢字的排序預設為拼音排序,可是本人最近發新排列的結果並不準確,通過上網查詢,現解決方法如下 方法1 設定環境變數 set nls sort schinese radical m export nls sort sh or setenv nls sort schinese radic...