oracle 中查詢結果的排序

來源:互聯網
上載者:User

標籤:

1,使用order by

漢字的編碼規則,有提到如下一句:    “一級漢字,是最常用的漢字,按漢語拼音字母順序排列,共3755個;二級漢字,屬於次常用漢字,按偏旁部首的筆劃順序排列,共3008個,order採用的是利用ASCII編碼來排序的明所以數字在字母前面,字母在漢字前面,一般漢字都是一級漢字,是按拼音來的,所以誤以為order是按拼音的,實際不是,可以對order進行指定。

按照拼音排序

ORDER BY nlssort(NAME, ‘NLS_SORT=SCHINESE_PINYIN_M‘)

按照部首順序

ORDER BY nlssort(NAME, ‘NLS_SORT=SCHINESE_RADICAL_M‘)

按照筆畫進行排序

ORDER BY nlssort(NAME, ‘NLS_SORT=SCHINESE_STROKE_M‘)

 

一般預設為是升序排序,可以對排序進行指定

SELECT ename,hiredate FROM emp ORDER BY hiredate DESC;

DESC為降序,ASC為升序

如果要對多個列進行排序則

SELECT ename,deptno,hiredate FROM emp ORDER BY deptno,hiredate;

先按depptno排序,如果deptno相等,則按hiredate

也可以對組合結果排序,如對某兩行的乘積排序

    1. SELECT empno, ename, sal*Months_between(sysdate,hiredate) AS total FROM emp   
    2.   ORDER BY total; 

2在項目進行過程中,遇到了一個生僻字,在組成json資料 時候,採用了冒泡排序,將json數組裡面的某一欄位進行排序,將這個生僻字用其他常用字的形式進行排序,得到結果具體代碼為

 
    public JSONArray bubbleSort(JSONArray args) throws JSONException ,UnsupportedEncodingException {//冒泡排序演算法           for(int i=0;i<args.length()-1;i++){               for(int j=i+1;j<args.length();j++){                      JSONObject strResult1 = new JSONObject();                   strResult1 =  args.getJSONObject(i);                   String s1= strResult1.getString("streetname");                   JSONObject strResult2 = new JSONObject();                   strResult2 =  args.getJSONObject(j);                   String s2= strResult2.getString("streetname");                   if(s1.equals("垡頭"))                       s1="發頭";                   if(s2.equals("垡頭"))                       s2="發頭";                   String s3,s4;                    byte[] b1 = null;                      byte[] b2 = null;                    StringBuffer sb1 = new StringBuffer();                    StringBuffer sb2 = new StringBuffer();                    b1 = s1.getBytes("gb2312");                    b2 = s2.getBytes("gb2312");                    for (int k = 0; k < b1.length; k++) {                          sb1.append(Integer.toHexString(b1[k] & 0xFF));                      }                     for (int k = 0; k < b2.length; k++) {                          sb2.append(Integer.toHexString(b2[k] & 0xFF));                      }                    s3= sb1.toString();                    s4= sb2.toString();                   if (s3.compareTo(s4)>0){                           args.put(i, strResult2);                       args.put(j, strResult1);                                                                   }               }         }         return args;  }    

 

oracle 中查詢結果的排序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.