当前位置:  数据库>oracle

Oracle中文、数字混杂字段的排序

    来源: 互联网  发布时间:2017-04-07

    本文导语: 对Oracle中中文、数字混杂形式的字段进行排序的方法: 例如: order by NLSSORT(字段名,'NLS_SORT = SCHINESE_PINYIN_M'), to_number(translate(字段名, '0123456789' || 字段名, '0123456789'))    NLSSORT() 函数: 如果数据库字符集选用的是ZH16GBK,...

对Oracle中中文、数字混杂形式的字段进行排序的方法:

例如:

  • order by NLSSORT(字段名,'NLS_SORT = SCHINESE_PINYIN_M'), to_number(translate(字段名, '0123456789' || 字段名, '0123456789'))   
  • NLSSORT() 函数:

    如果数据库字符集选用的是ZH16GBK,那么使用order by默认是按照汉字的“二进制编码”顺序进行排序的。

    可以使用NLSSORT()函数可以改变Oralce 对汉字的排序规则,排序规则如下(前三条对简体中文进行排序,后两条对繁体中文进行排序):

    1. SCHINESE_RADICAL_M

        简体中文按照第一顺序是“部首”、第二顺序是“笔画数”进行排序。

    2. SCHINESE_STROKE_M

        简体中文按照第一顺序“笔画数”、是第二顺序是“部首”进行排序。

    3. SCHINESE_PINYIN_M

        简体中文按照拼音进行排序。上例中即对简体汉字按照拼音进行排序。

    4. TCHINESE_RADICAL_M

        繁体中文按照第一顺序是“部首”、第二顺序是“笔画数”进行排序。

    5. TCHINESE_STROKE_M

        繁体中文按照第一顺序是“笔画数”、第二顺序是“部首”进行排序。 

    TRANSLATE() 函数:

    语法:TRANSLATE(char, from, to)

    用法:将char中出现在from中的每个字符替换为to中的相应字符,若from比to字符串长,那么在from中比to中多出的字符将会被删除。三个参数中有一个是空,返回值也将是空值。

    该函数可用于剔除字段中的汉字,例:

  • select TRANSLATE('例1213','0123456789'||'例1213','0123456789') as RESULT from dual;  
  •   RESULT  
  • ------------   

  •     
     
     

    您可能感兴趣的文章:

  • ORACLE数据库常用字段数据类型介绍
  • oracle 实际值超过数据库某个字段指定长度报错解决
  • Oracle用什么语句查询字段?
  • 关于Oracle BLOB类型,一个String字符怎么写入BLOB字段?
  • 与Oracle连接时,怎样添加Bolb,Clob字段?急!!!!!
  • oracle删除表字段和oracle表增加字段
  • 请问保存文章内容的字段应用什么类型的(oracle),急!!!
  • 请问jboss+oracle文件怎样配置,数据库中文字段不为乱码
  • ****请教关于oracle中date型字段的显示问题。谢谢!!!**
  • Oracle 中文字段进行排序的sql语句
  • oracle中怎么没有boolean类型的字段?应该用什么代替?
  • 怎样将当前时间写到Oracle中date类型的字段中!!!!!!!!!!!!
  • 如何向oracle库中字段类型是date的添加数据
  • Oracle中大字段问题,数据大了就写不进去了。
  • Oracle 自增(auto increment) 或 标识字段的建立方法
  • jsp显示oracle中varchar2类型字段 在线等待
  • 在oracle数据库里创建自增ID字段的步骤
  • oracle关键字作为字段名使用方法
  • Oracle 查询表信息获取表字段及字段注释
  • jsp如何选择更新oracle的date字段
  • Oracle 实现类似SQL Server中自增字段的一个办法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 安装Oracle9i时的中文问题,求助!!!!!!!
  • Linux平台下Oracle9i数据库正确显示中文的设置
  • oracle中文乱码解决的办法
  • oracle8.1.7在RedHat7.2下安装后,怎么不支持中文?
  • 急急急!用 jdbc取 oracle 中中文数据的显示问题?
  • 我用jbuilder调用oracle的数据库,但其中的中文显示的是乱码,怎么解决?
  • 在jsp输入中文->servlet->Session Bean->EntityBean->Oracle就变成一堆?????号。
  • RED HAT 7.2 ,安装ORACLE9I时,安装向导的中文全为乱码!
  • jsp读取oracle8.1.6数据表中的中文,读出为?,着急啊。
  • 谁那里有《Oracle Database 10g完全参考手册》中文版的电子书啊?发给我好吗
  • 急!急!100分问题求解(不够可加)输入中文到oracle数据库乱码的问题
  • oracle中文乱码的解决方法
  • oracle9i安装时.installer启动后,界面无法显示中文.
  • linux 环境下 odbc程序 往oracle数据库insert 中文 乱码问题,请教高手,急!!!!在线等~~
  • 为什么unix下从oracle检索出来的中文显示的是?????? 呢?
  • 取Oracle数据库中的中文数据乱码的问题!!急:在线等待
  • Oracle Enterprise Linux下的中文显示
  • linux下Tomcat4,javaservlet中文问题(oracle数据库)
  • 用jsp连上oracle后,在JSP中用(INSERT)插入中文数据后,显示乱码,有办法吗?
  • JSP连ORACLE中文字符的显示问题!!!急死我了~~~
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3