zoukankan      html  css  js  c++  java
  • Oracle中 nls_sort 和 nlssort 排序功能

    ALTER SESSION SET NLS_SORT=''; 排序影响整个会话 
    Oracle9i之前,中文是按照二进制编码进行排序的。   
        
        在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值     
        
        SCHINESE_RADICAL_M   按照部首(第一顺序)、笔划(第二顺序)排序     
        
        SCHINESE_STROKE_M   按照笔划(第一顺序)、部首(第二顺序)排序     
        
        SCHINESE_PINYIN_M   按照拼音排序 

    NLSSORT(),用来进行语言排序:
      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') 



    Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。 
    1、设置NLS_SORT参数值 
          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'); 
          按照拼音排序,此为系统的默认排序方式 
          select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M'); 
    4、修改系统参数(数据库所在操作系统): 
          set NLS_SORT=SCHINESE_RADICAL_M ; 
           export NLS_SORT (sh) 
           setenv NLS_SORT SCHINESE_RADICAL_M (csh) 
          HKLC\SOFTWARE\ORACLE\home0\NLS_SORT (win注册表)

  • 相关阅读:
    浅谈 DML、DDL、DCL的区别
    SQL优化
    Appium定位方式总结
    移动端自动化测试-AppiumApi接口详解
    移动端自动化测试-WTF Appium?
    Selenium-Css Selector使用方法
    Selenium-Switch与SelectApi接口详解
    Selenium-ActionChainsApi接口详解
    Selenium-WebDriverApi接口详解
    Selenium之前世今生
  • 原文地址:https://www.cnblogs.com/guijl/p/2795076.html
Copyright © 2011-2022 走看看