Oracle 中查询结果按照某个中文字段或者英文字母(包括 符号)排序,并不会得到我们预期的结果,因为对于中文与英文字母及符号,Oracle实际是按照其对应的ASCII码值排序的!

可以看到按照中文村名排序并没有按照我们预期,按照村名的拼音字段排序,也是一样(实际是按照其对应的ASCII码值排序)!

当然,Oracle也提供了按照中文拼音排序,按照部首或笔画排序,方式如下:

按照拼音顺序:
ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_PINYIN_M')

按照部首顺序:
ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_RADICAL_M')

按照笔画顺序:
ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_STROKE_M')

不过,对于多音字的排序还是有问题的。。。

所以我们最后的解决方案是,存储村名的拼音(多音字由人工识别),再按照拼音排序;其实也可以增加一个“排序值”的字段,按照1、2、3...排序。

===============================================================================================================

(不过,在 Linq to List中,按照中文排序是按照拼音来排序的,但同样对 多音字 的识别仍然有问题。)

转载于:https://www.cnblogs.com/XWCloud/p/7859769.html

Oracle的order by的中文排序问题相关推荐

  1. C++ sqlite3解决中文排序问题

    导言:sqlite3默认的编码方式为UTF8编码,而在UTF8编码下,中文不是按照拼音顺序编码的,所以想解决中文排序问题,必须自定义排序规则,将UTF8编码转换成GB2312编码(GB2312编码中文 ...

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

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

  3. oracle的order by排序中空字符串处理方法

    1.缺省处理 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前 2.使用nvl函数 nvl函数可以将输入参数为空时转换为一特定值,如 ...

  4. oracle 12c手册chm,oracle11g中文手册chm

    文档-oracle11g-物理DG日常巡检手册_计算机软件及应用_IT/计算机_专业资料.文件编号: ORACLE11g Dataguard 物理 Standby 日常巡检操作手册编写:___ 校对: ...

  5. 关于oracle查询语句中like '%中文的%' 查询不到数据的问题

    关于oracle查询语句中like '%中文的%' 查询不到数据的问题 问题描述: 关于oracle查询语句中like '%中文的%' 查询不到数据的问题解决 起因: 在Windows10 系统环境下 ...

  6. oracle 英文日期格式转换中文日期格式

    oracle 英文日期格式转换中文日期格式 02-Mar-2010 这个格式是美国格式,可以使用如下语句转换成中文格式 2010/3/2: SELECT TO_DATE('02 Mar 2010 06 ...

  7. 微信小程序order by不能按中文排序问题

    问题来源 做一个报名查询系统,想要按照城市.学校的双重排序导出报名表 cloud.database().collection("signUpList").orderBy('city ...

  8. oracle网页怎么翻译成中文,sql语句翻译成中文小工具

    sql语句看不懂,今天看了朋友写的一个sql语句,没看懂什么意思,还 这个应该是SQL2005以上版本的语句,且该语句用于临时用途:with关键字从resume表生成一个CTE(用表表达式,仅作用于单 ...

  9. Oracle:sqlplus查询出的中文是乱码问题的解决

    问题描述: 有一台远程服务器不能通过Oracle客户端远程登陆,只能通过Secure CRT的ssh登陆(估计原因是1521端口被封).在这种情况下要select数据就只能先ssh到远程服务器,然后运 ...

最新文章

  1. 电脑计算机科学型,电脑里附带的计算器有标准型和科学型二种,它 – 手机爱问...
  2. About me 留言板
  3. 1077篇!ICCV2019接收结果公布,你中了吗?(附7篇论文链接,含Oral)
  4. Python爬虫 解析库的使用
  5. 前端学习(1334):mongodb增2
  6. android绘制环形进度_Android动态自定义圆形进度条
  7. php 内容编码错误,PHP输出缓冲,ob_gzhandler引起的内容编码错误?
  8. java bean验证_javaBean--登录验证
  9. MySql将查询结果插入到另外一张表
  10. a span做成按钮样式不选中文字
  11. opencv3.2.0 Cmake 3.8.0 + tdm-gcc-5.1.0-3 OpenThread
  12. PHP实现文件下载两种方式(a标签和header标签)
  13. 超详细的Python面向对象编程讲解
  14. LTM和GTM有什么区别
  15. Row was updated or deleted by another transaction or unsaved-value mapping was incorrect解决
  16. 微信小程序页面跳转失效原因
  17. 实现炫酷的卡片式动画!
  18. Android视图绘制流程完全解析(二)
  19. 用工作流思想实现简单的校园请假系统
  20. OpenMV感光元件参数设置

热门文章

  1. Visual C++ 运行库合集
  2. 15天学习MVC后的小结(分享经历与想法)
  3. 大数据之-Hadoop3.x_MapReduce_全排序案例---大数据之hadoop3.x工作笔记0115
  4. 技术圈儿007---Redis 生产架构选型解决方案
  5. C++_C++中的关键字_标识符命名规则_数据类型之整形_short_int_long_longlong---C++语言工作笔记010
  6. ES9新特性_ES9扩展运算符与rest参数---JavaScript_ECMAScript_ES6-ES11新特性工作笔记053
  7. bzoj 1024 [SCOI2009]生日快乐
  8. linux ftp使用相关
  9. mysql存储过程 分表统计_mysql 存储过程:把昨天的数据找出来并保存到对应的月份分表...
  10. 解析超大文件_MySQL物理文件结构和SQL执行流程