Oracle9i之前,中文是按照二進(jìn)制編碼進(jìn)行排序的。在oracle9i中新增了按照拼音、部首、筆畫排序功能。
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比玉樹網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式玉樹網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋玉樹地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
1、設(shè)置NLS_SORT參數(shù)值
SCHINESE_RADICAL_M 按照部首(第一順序)、筆劃(第二順序)排序 SCHINESE_STROKE_M 按照筆劃(第一順序)、部首(第二順序)排序 SCHINESE_PINYIN_M 按照拼音排序
2、Session級別的設(shè)置,修改ORACLE字段的默認(rèn)排序方式:
按拼音: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、語句級別設(shè)置排序方式:
按照筆劃排序 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)的默認(rèn)排序方式
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注冊表)
可以通過 “order by 字段名 asc (desc)” 命令進(jìn)行排序。
sql:select * from tablename order by id DESC;
用 DESC 表示按倒序排序(即:從大到小排序) ,用 ACS 表示按正序排序(即:從小到大排序)。
#includeiostream
using namespace std;
void main() {
int n;
cin n;
int* a=new int[n];
int* order=new int[n];
for(int i=0; in; i++) {
cin a[i]; order[i]=0;
}
int eqNum=0;
for(int ord=1; ord+eqNum=n; ord++) {
int first=0;
while(order[first]!=0) first++;
// cout "ord: " ord ", first: " first ;
int min=a[first], minAt=first;
for(int j=first+1; jn; j++) {
if(order[j]!=0) continue;
if(a[j]min) { min=a[j]; minAt=j; }
}
// cout ", minAt: " minAt ", min: " min endl;
int ord0=ord;
order[minAt]=ord0;
for(int k=minAt+1; kn; k++) {
if(a[k]==min) { order[k]=ord0; eqNum++; }
}
}
for(int i=0; in; i++) {
if(i0) cout " ";
cout order[i];
}
}
DECLARE
A1 NUMBER;
TEMP VARCHAR2(120);
A2 NUMBER;
SIXNUM VARCHAR2(120);
TYPE EMP_SSN_ARRAY IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
BEST_EMPLOYEES EMP_SSN_ARRAY;
BEGIN
SIXNUM:=' ';
TEMP:=' ';
A1:= 0;
WHILE (LENGTH(SIXNUM)14) LOOP
LOOP
--生成號碼
A1 := A1 + 1;
A2 := FLOOR( DBMS_RANDOM.VALUE(1,33));
IF A2 10 AND A2 0 THEN
BEST_EMPLOYEES(A1) :='0'||A2;
DBMS_OUTPUT.PUT_LINE(BEST_EMPLOYEES(A1));
ELSE
BEST_EMPLOYEES(A1) := A2;
DBMS_OUTPUT.PUT_LINE(BEST_EMPLOYEES(A1));
END IF;
IF INSTR(SIXNUM,BEST_EMPLOYEES(A1),1,1)=0 THEN --找不到
SIXNUM:=SIXNUM||' '||BEST_EMPLOYEES(A1);
EXIT;
END IF ;
END LOOP;
END LOOP;
DBMS_OUTPUT.PUT_LINE('--------------------------------');
FOR I IN 1..BEST_EMPLOYEES.COUNT - 1 LOOP
FOR II IN I..BEST_EMPLOYEES.COUNT LOOP
IF BEST_EMPLOYEES(I) BEST_EMPLOYEES(II) THEN
--DBMS_OUTPUT.PUT_LINE(BEST_EMPLOYEES(I));
TEMP := BEST_EMPLOYEES(I);
BEST_EMPLOYEES(I) := BEST_EMPLOYEES(II);
BEST_EMPLOYEES(II) := TEMP;
END IF;
END LOOP;
END LOOP;
FOR I IN 1..BEST_EMPLOYEES.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(BEST_EMPLOYEES(I));
END LOOP;
END;
/
在會話內(nèi)存的sort_area中,這部分空間屬于用戶全局區(qū)(UGA),但是UGA具體在哪兒得看你的服務(wù)器環(huán)境。如果使用專用服務(wù)器模式,UGA的位置位于PGA(程序全局區(qū))中;如果使用共享服務(wù)器模式并且設(shè)置了大池(large pool),UGA位于SGA的large pool中,如果沒有設(shè)置large pool,UGA位于SGA的shared pool中。
網(wǎng)站欄目:oracle數(shù)組怎么排序,oracle分組排序函數(shù)
網(wǎng)站鏈接:http://www.rwnh.cn/article28/dssdejp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、搜索引擎優(yōu)化、標(biāo)簽優(yōu)化、企業(yè)網(wǎng)站制作、網(wǎng)站營銷、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)