oracle資料庫中文排序

2021-12-30 13:27:18 字數 1024 閱讀 8372

oracle資料庫中文排序

oracle資料庫中文拼音排序問題,nls_sort設定(zz) 

oracle9i之前,中文是按照二進位制編碼進行排序的。在oracle9i中新增了按照拼音、部首、筆畫排序功能。 

1、設定nls_sort引數值 

schinese_radical_m 按照部首(第一順序)、筆劃(第二順序)排序 

schinese_stroke_m 按照筆劃(第一順序)、部首(第二順序)排序 

schinese_pinyin_m 按照拼音排序 

2、session級別的設定,修改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; 

3、語句級別設定排序方式: 

按照筆劃排序 

select * from dept order by nlssort(name,'nls_sort=schinese_stroke_m'); 

按照部首排序 

select * from dept order by nlssort(name,'nls_sort=schinese_radical_m'); 

按照拼音排序,此為系統的預設排序方式 

select * from dept order by nlssort(name,'nls_sort=schinese_pinyin_m'); 

4、修改系統引數(資料庫所在作業系統): 

set nls_sort=schinese_radical_m ;export nls_sort (sh) 

setenv nls_sort schinese_radical_m (csh) 

hklc\software\oracle\home0\nls_sort (win登錄檔) 

oracle資料庫中文漢字排序

oracle資料庫中文漢字排序 今天需要按oracle資料庫中某個表的某個中文字段進行排序,本來感覺挺簡單的乙個東西,不就是乙個order by嘛,可是寫完了發現拍的並不對,一時間感到不可思議,又查詢,發現果然有這個問題,經過查資料發現,oracle對中文的排序是按照asc碼的值進行排序的,後來又經...

Oracle資料庫中文亂碼

字符集是oracle為適應不同語言文字顯示而設定的。用於漢字顯示的字符集主要有zhs16cgb231280 zhs16gbk us7ascii和utf 8等。字符集同時存在於伺服器端和客戶端。伺服器端字符集是在安裝oracle時指定的,字符集登記資訊儲存在oracle資料庫字典的v nls para...

解決oracle資料庫中文亂碼問題

中文亂碼問題解決 1.檢視伺服器端編碼 select userenv language from dual 我實際查到的結果為 american america.zhs16gbk 2.執行語句 select from v nls parameters 檢視第一行中parameter項中為nls la...