oracle中的nls在哪,Oracle nls_sort和nlssort 排序功能介绍
(1)ALTER SESSION SET NLS_SORT='';
排序影響整個會話
Oracle9i之前,中文是按照二進制編碼進行排序的。
在oracle9i中新增了按照拼音、部首、筆畫排序功能。設置NLS_SORT值
SCHINESE_RADICAL_M
按照部首(第一順序)、筆劃(第二順序)排序
SCHINESE_STROKE_M
按照筆劃(第一順序)、部首(第二順序)排序
SCHINESE_PINYIN_M 按照拼音排序
oracle9i中新增了按照拼音、部首、筆畫排序功能
拼音 SELECT * FROM TEAM ORDER BY
NLSSORT(隊名,'NLS_SORT = SCHINESE_PINYIN_M')
筆劃 SELECT * FROM TEAM ORDER BY
NLSSORT(隊名,'NLS_SORT = SCHINESE_STROKE_M')
部首 SELECT * FROM TEAM ORDER BY
NLSSORT(隊名,'NLS_SORT = SCHINESE_RADICAL_M')
(2)又如在視圖中查詢獲取道路列表:
sSql = string.Format("select
distinct({0}) from {1} order by
nlssort({0},'NLS_SORT=SCHINESE_PINYIN_M')", sFieldDL, sViewDL);
(3)又如
一個表中的數據是這樣的:
PROJECTNO
-----------------------
欽市PC2010-5
欽市PC2011-6
欽市PC2011-40
欽南PC2011-5
欽南GC2011-5
欽市PC2011-5(還有很多)數據前2個字是市區名,后面的是文件名“-”后面的是第幾號文件,我想知道如何用SQL語句將他們升序排序,需要先排列市區名,市區名相同了在升序排列后面的文件名,文件名相同了在排列后面的文件編號名。
注意:單單用select projectno from dual order by projectno asc
是不能實現的。
可使用
select projectno from dual order by substring(projectno ,1,2) asc ,substring(projectno ,3,6) asc ,substring(projectno ,9,2) asc
總結
以上是生活随笔為你收集整理的oracle中的nls在哪,Oracle nls_sort和nlssort 排序功能介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年美容师(初级)考试内容及美容师
- 下一篇: 社会实践分组(c++)