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

目前創(chuàng)新互聯(lián)建站已為上千的企業(yè)提供了網站建設、域名、網站空間、網站托管運營、企業(yè)網站設計、襄城網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
1、設置NLS_SORT參數(shù)值
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');
按照拼音排序 此為系統(tǒng)的默認排序方式
select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');
4、修改系統(tǒng)參數(shù)(數(shù)據(jù)庫所在操作系統(tǒng)):
set NLS_SORT=SCHINESE_RADICAL_M export NLS_SORT (sh) setenv NLS_SORT SCHINESE_RADICAL_M (csh) HKLC\SOFTWARE\ORACLE\home0\NLS_SORT (win注冊表)
數(shù)字和字符大小的比較規(guī)則是不一樣的,確定這兩個字段的類型,我很納悶,你這種排序后插入有意義么?只要對新表查詢時隨便對一個字段排序查詢你這種排序順序不就打亂了?
可以通過 “order by 字段名 asc (desc)” 命令進行排序。
sql:select * from tablename order by id DESC;
用 DESC 表示按倒序排序(即:從大到小排序) ,用 ACS 表示按正序排序(即:從小到大排序)。
對重復字段只取包括其中一個的記錄的方法就這樣,還可以通過唯一id(如果存在的話,沒有的話,用row_number)比較
如
select * from cb_rqrj_djclhs a
where ID in (select min(id) from cb_rqrj_djclhs where gjzy=a.gjzy)
這個沒辦法處理優(yōu)化,只能是提高電腦配置,或者是換其他版本的oracle,建議使用10g。
解釋:oracle運行程序本身就比較占內存,并且要啟動三個實例才可以運行,所以建議可以更換個大的內存條(最少4G),安裝64位系統(tǒng)。
備注:建議不用oracle的情況下可以把oracle的進程都停掉,減少內存占用。
本文名稱:oracle排ct怎么辦的簡單介紹
分享URL:http://chinadenli.net/article9/dseihoh.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站改版、靜態(tài)網站、標簽優(yōu)化、定制開發(fā)、企業(yè)網站制作、網站設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)