中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle中文排序 NLSSORT

發布時間:2020-06-13 12:37:09 來源:網絡 閱讀:1621 作者:baser 欄目:關系型數據庫

今天發現了個挺有意思的函數:NLSSORT,發現能給中文按拼音、筆畫、部首排序,遂查了下相關資料,結果如下:


Oracle 9i開始,新增了按照拼音、部首、筆畫排序功能。

    通過設置NSL_SORT值來實現:

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

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

    SCHINESE_PINYIN_M 按照拼音排序


實現中文排序有兩種常見方式:

  1. session級

    ALTER SESSION SET NLS_SORT='XXX';

    此結果影響整個session。

  2. sql級

    SELECT * FROM TABLE_XXX ORDER BY NLSSORT(字段名, 'NLS_SORT=XXX');


例:

CREATE TABLE test_sort(NAME VARCHAR2(50));

INSERT INTO test_sort(NAME) VALUES('中國');
INSERT INTO test_sort(NAME) VALUES('山西');
INSERT INTO test_sort(NAME) VALUES('北京');
INSERT INTO test_sort(NAME) VALUES('陜西');
INSERT INTO test_sort(NAME) VALUES('河北');
INSERT INTO test_sort(NAME) VALUES('湖北');
INSERT INTO test_sort(NAME) VALUES('河南');


默認排序結果: 默認排序以BINARY排序,即二進制排序

SQL> SELECT * FROM test_sort ORDER BY NAME;

NAME
--------------------------------------------------
中國
北京
山西
河北
河南
湖北
陜西
7 rows selected


拼音排序結果:

SQL> SELECT * FROM test_sort ORDER BY NLSSORT(NAME, 'NLS_SORT=SCHINESE_PINYIN_M');

NAME
--------------------------------------------------
北京
河北
河南
湖北
山西
陜西
中國
7 rows selected


筆畫排序結果:

SQL> SELECT * FROM test_sort ORDER BY NLSSORT(NAME, 'NLS_SORT=SCHINESE_STROKE_M');

NAME
--------------------------------------------------
山西
中國
北京
河北
河南
陜西
湖北
7 rows selected


部首排序結果:

SQL> SELECT * FROM test_sort ORDER BY NLSSORT(NAME, 'NLS_SORT=SCHINESE_RADICAL_M');

NAME
--------------------------------------------------
中國
北京
山西
河北
河南
湖北
陜西
7 rows selected


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

信宜市| 石林| 江永县| 额尔古纳市| 阿拉善左旗| 永善县| 平度市| 衡水市| 龙口市| 开阳县| 金塔县| 宁城县| 鄂尔多斯市| 昌都县| 宁晋县| 江源县| 卢湾区| 辉南县| 大丰市| 饶阳县| 外汇| 乐亭县| 图木舒克市| 郑州市| 西平县| 荆门市| 沈阳市| 三穗县| 开封县| 颍上县| 张家口市| 合江县| 青浦区| 昌宁县| 崇仁县| 疏附县| 武宣县| 柳河县| 乳山市| 泾源县| 密山市|