Oracle的order by的中文排序问题
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的中文排序问题相关推荐
- C++ sqlite3解决中文排序问题
导言:sqlite3默认的编码方式为UTF8编码,而在UTF8编码下,中文不是按照拼音顺序编码的,所以想解决中文排序问题,必须自定义排序规则,将UTF8编码转换成GB2312编码(GB2312编码中文 ...
- 汉字 order by oracle,oracle 使用order by 对汉字进行多字段排序
今天遇到一个奇怪的问题, 在两个不同的数据库里执行同样的sql语句, 相同的数据却排序结果不一致. 执行sql如下: select decode(brch.LOCAL, 'Y', '国内', '国际' ...
- oracle的order by排序中空字符串处理方法
1.缺省处理 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前 2.使用nvl函数 nvl函数可以将输入参数为空时转换为一特定值,如 ...
- oracle 12c手册chm,oracle11g中文手册chm
文档-oracle11g-物理DG日常巡检手册_计算机软件及应用_IT/计算机_专业资料.文件编号: ORACLE11g Dataguard 物理 Standby 日常巡检操作手册编写:___ 校对: ...
- 关于oracle查询语句中like '%中文的%' 查询不到数据的问题
关于oracle查询语句中like '%中文的%' 查询不到数据的问题 问题描述: 关于oracle查询语句中like '%中文的%' 查询不到数据的问题解决 起因: 在Windows10 系统环境下 ...
- oracle 英文日期格式转换中文日期格式
oracle 英文日期格式转换中文日期格式 02-Mar-2010 这个格式是美国格式,可以使用如下语句转换成中文格式 2010/3/2: SELECT TO_DATE('02 Mar 2010 06 ...
- 微信小程序order by不能按中文排序问题
问题来源 做一个报名查询系统,想要按照城市.学校的双重排序导出报名表 cloud.database().collection("signUpList").orderBy('city ...
- oracle网页怎么翻译成中文,sql语句翻译成中文小工具
sql语句看不懂,今天看了朋友写的一个sql语句,没看懂什么意思,还 这个应该是SQL2005以上版本的语句,且该语句用于临时用途:with关键字从resume表生成一个CTE(用表表达式,仅作用于单 ...
- Oracle:sqlplus查询出的中文是乱码问题的解决
问题描述: 有一台远程服务器不能通过Oracle客户端远程登陆,只能通过Secure CRT的ssh登陆(估计原因是1521端口被封).在这种情况下要select数据就只能先ssh到远程服务器,然后运 ...
最新文章
- 电脑计算机科学型,电脑里附带的计算器有标准型和科学型二种,它 – 手机爱问...
- About me 留言板
- 1077篇!ICCV2019接收结果公布,你中了吗?(附7篇论文链接,含Oral)
- Python爬虫 解析库的使用
- 前端学习(1334):mongodb增2
- android绘制环形进度_Android动态自定义圆形进度条
- php 内容编码错误,PHP输出缓冲,ob_gzhandler引起的内容编码错误?
- java bean验证_javaBean--登录验证
- MySql将查询结果插入到另外一张表
- a span做成按钮样式不选中文字
- opencv3.2.0 Cmake 3.8.0 + tdm-gcc-5.1.0-3 OpenThread
- PHP实现文件下载两种方式(a标签和header标签)
- 超详细的Python面向对象编程讲解
- LTM和GTM有什么区别
- Row was updated or deleted by another transaction or unsaved-value mapping was incorrect解决
- 微信小程序页面跳转失效原因
- 实现炫酷的卡片式动画!
- Android视图绘制流程完全解析(二)
- 用工作流思想实现简单的校园请假系统
- OpenMV感光元件参数设置
热门文章
- Visual C++ 运行库合集
- 15天学习MVC后的小结(分享经历与想法)
- 大数据之-Hadoop3.x_MapReduce_全排序案例---大数据之hadoop3.x工作笔记0115
- 技术圈儿007---Redis 生产架构选型解决方案
- C++_C++中的关键字_标识符命名规则_数据类型之整形_short_int_long_longlong---C++语言工作笔记010
- ES9新特性_ES9扩展运算符与rest参数---JavaScript_ECMAScript_ES6-ES11新特性工作笔记053
- bzoj 1024 [SCOI2009]生日快乐
- linux ftp使用相关
- mysql存储过程 分表统计_mysql 存储过程:把昨天的数据找出来并保存到对应的月份分表...
- 解析超大文件_MySQL物理文件结构和SQL执行流程