标签:其他 而且 img sel 分享图片 acl 排序 href esc
目录
对oracle中的一张表中的某个字段进行排序,要求按照字母序进行倒序展示;
直接使用**order by xxx desc**
查询结果,如下所示:
排序结果并没有按照字母序,而且不知道这个是什么顺序?
通过百度知道,oracle 9i之前对中文的排序默认是按照二进制排序的,11g中查询到的默认排序也是二进制,可以通过下面的sql语句查询到:
select * from NLS_SESSION_PARAMETERS;
查询结果中的‘NLS_SORT‘的值是‘BINARY‘,也就是二进制排序;
但是在oracle 9i之后,新增了几种新的排序选择,分别是按照‘拼音‘排序、按照‘中文部首‘排序、按照‘中文笔画‘进行排序.
select * from 表名 order by NLSSORT(排序字段,‘SCHINESE_PINYIN_M‘);//按照拼音排序
select * from 表名 order by NLSSORT(排序字段,‘ SCHINESE_STROKE_M‘);//按照笔画排序
select * from 表名 order by NLSSORT(排序字段,‘ SCHINESE_RADICAL_M‘);//按照部首排序
问题中的查询语句,使用拼音排序之后的结果如下所示:
标签:其他 而且 img sel 分享图片 acl 排序 href esc
原文地址:https://www.cnblogs.com/liaidai/p/10215949.html