Oracle 中文排序 Oracle 中文字段排序

一、情景描述

1、在实际开发中,遇到字段排序的情况,大概如下:

2、正序的需求是: 一类、二类、三类 ; 倒序需求是: 三类、二类、一类

3、从图中可以看到,使用默认的排序,达不到预期效果,那么 Oracle中,对于中文排序该如何处理呢?

二、问题解决

1、使用 nlssort 函数,解决中文排序问题。

2、Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值:

  • SCHINESE_RADICAL_M :按照部首(第一顺序)、笔划(第二顺序)排序
  • SCHINESE_STROKE_M :按照笔划(第一顺序)、部首(第二顺序)排序
  • SCHINESE_PINYIN_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、案例截图:

Oracle 中文排序 Oracle 中文字段排序相关推荐

  1. java 字段排序_Java多字段排序之冒泡

    场景: 奥运会时期,每场赛事后,对国家的金.银.铜牌进行排序,排序规则如下: 先以金牌排序,金牌数越多,排得越前,如果金牌数相同,则比银牌数,如果银牌数一样多,则比铜牌数,如果铜牌数还一样多,则按国家 ...

  2. oracle+sql+按中文拼音排序,Oracle 中文字段进行排序的sql语句

    Oracle 中文字段进行排序的sql语句 1)按笔画排序 select * from Table order by nlssort(columnName,'NLS_SORT=SCHINESE_STR ...

  3. Java8 Stream(6)List集合排序 多字段排序 Null值排序

    一.单字段排序 先造点数据 pigs.add(new Pig(1, "猪爸爸", 31, "M", false)); pigs.add(new Pig(2, & ...

  4. 按照 排序 oracle,oracle 按照中文排序

    在oracle 9i之前,对中文的排序,是默认按2进制编码来进行排序的. 9i时增加了几种新的选择: 按中文拼音进行排序:SCHINESE_PINYIN_M 按中文部首进行排序:SCHINESE_RA ...

  5. problem a: 简单的整数排序_python里的排序

    本篇文章主要讲: 自定义规则排序 多字段排序 开讲之前,先讲一些简单sorted()或者sort(),两者返回值不同!例如: sorted([5, 2, 3, 1, 4]) # 输出:[1, 2, 3 ...

  6. oracle英文字母排序,ORACLE中文排序

    Oracle9i之前,中文是按照二进制编码进行排序的. 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序).笔划 ...

  7. 汉字 order by oracle,oracle 使用order by 对汉字进行多字段排序

    今天遇到一个奇怪的问题, 在两个不同的数据库里执行同样的sql语句, 相同的数据却排序结果不一致. 执行sql如下: select decode(brch.LOCAL, 'Y', '国内', '国际' ...

  8. 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法

    数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...

  9. mysql 中文字段排序( 按拼音首字母排序) 的查询语句

    转自:http://hi.baidu.com/treejames/item/93fecd988a9df631336eeb0f 特此感谢 在处理使用MySQL时,数据表采用utf8字符集,使用中发现中文 ...

  10. mysql 按中文字段排序

    我们的MySQL使用latin1的默认字符集,也就是说,对汉字字段直接使用GBK内码的编码进行存储,当需要对一些有汉字的字段进行拼音排序时(特别涉及到类似于名字这样的字段时),默认无法通过order ...

最新文章

  1. 最近发现了好多好资源,赶紧收藏一下!【粒子特效】
  2. 全球与中国重型离合器市场运营状况分析与“十四五”发展规划建议2021年版
  3. rman备份,crontab计划任务没有生成备份文件
  4. Makefile(三)
  5. 解决在Windows10没有修改hosts文件权限
  6. MongoDB常用使用场景介绍
  7. 哗啦啦用Java_哗啦啦
  8. Brave 浏览器宣布集成 IPFS 协议,它会取代 HTTP 吗?
  9. windows查找端口占用情况
  10. 走向Java架构师之路:成为架构师要掌握的8大能力
  11. 代码(Python、Java)实现分组求和
  12. 历史记录---4月6日
  13. 同花顺_代码解析_技术指标_EJK
  14. 【行研报告】2021年Q3小红书美妆行业营销报告—附下载链接
  15. 这世上本来没有路,走的人多了,也便成了路
  16. [ Tensorflow学习之路 ] —— API:TF-Slim
  17. 什么是LRUCache 和 LRUCache 实现
  18. 联想ThinkSystem融合架构简介 - ThinkAgile SX for Nutanix
  19. 【全】在 Docker 的Solr容器中安装 IK 中文分词器
  20. Android--打造流行的无数据空布局页面

热门文章

  1. 湘源控规7.0安装 详细图文教程
  2. 个人发卡网-轻量版-可自定义接口
  3. 大学计算机python教材答案_大学计算机python答案
  4. XJOI一级二段题解(g++,即C++),也可视作C++算法竞赛教程
  5. 简要增量式PI控制器
  6. python中line是什么意思_python 中循环 line for line in file(filename)什么意思?
  7. Qt编写可视化大屏电子看板系统17-柱状堆积图
  8. g120宏的说明书_西门子变频器G120操作说明书
  9. 电阻的寄生电感、寄生电容
  10. 三点法求解并联机构动系相对静系的旋转矩阵