SQL 用中文的拼音和笔画排序   城市按拼音排序: SELECT chineseName FROM [表名] order by chinesename collate Chinese_PRC_CS_AS_KS_WS asc 城市按笔划排序: SELECT chineseName FROM [表名] order by chinesename collate Chinese_PRC_Stroke_CS_AS_KS_WS   asc 以上代码中GD上调试通过. 多说两句,排序规则名称由两部份构成,前…
今天写需求,要求将结果按照成本中心首字母排序,平且空放在最前面. 进入正题: 1.使用oracle自带的函数: 按照首字母排序:nlssort(xxx,'NLS_SORT=SCHINESE_PINYIN_M') 例如:select * from qin t order by nlssort(t.ename,'NLS_SORT=SCHINESE_PINYIN_M'); 将空值放在最前面只需要加上 nulls first 例如:select * from qin t order by nlssort…
在ORACLE查询中,如果在没有排序,但又想让某列中特定值的信息排到前面的时候,使用oracle的decode(字段,'字段值',数字) 如 select name from user 查询出来的所有数据,如果想让 name='张三'  结果排到前面,则使用如下: select name from user order by decode(name,'张三',0) 同理,如果想让李四排到第二的话,可以继续增加decode方法 select name from user order by deco…
之前写过一篇 Oracle中对数字加汉字的排序以及REGEXP_SUBSTR介绍 后来在开发的过程中又遇到相似问题.数据不一样了,按之前的使用方法是不适用的. 之前的是数字在前汉字在后,最基本的差别是数字没有反复的,而如今的数据中数字是有反复的 比方: 玫瑰园1楼 玫瑰园2楼 兴帝家园1楼 兴帝家园2楼 假设是仅仅抽取数字进行排序 会造成两个1楼在前 两个2楼在后 而想要的结果是先按同样的名字排序 再按楼号排序 第一步:截取汉字 仅仅截取正則表達式中汉字首次出现的位置(下同) REGEXP_SU…
对于包含汉字的字符串来说,排序的方式主要有两种:一种是拼音,一种是笔画. 本文就讲述如何实现按笔划排序的比较器(Comparator). 作者:Jeff 发表于:2007年12月21日 11:27 最后更新于: 2007年12月21日 12:38 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明.http://www.blogjava.net/jeff-lau/archive/2007/12/21/169257.html 笔画排序 要按笔画排序,就要实现笔画…
每当面试时避不可少谈论的话题是排序算法,上次面试时被问到写排序算法,然后脑袋一懵不会写,狠狠的被面试官鄙视了一番,问我是不是第一次参加面试,怎么可以连排序算法都不会呢?不过当时确实是第一次去面试,以此恶补排序算法. 一.基本排序算法:基本排序算法有冒泡排序,选择排序,插入排序. 选择排序算法思想:选择排序从数组的头开始,将第一个元素与其他元素进行比较,找到最小的元素,然后放到数组的第一个位置.然后再从第二个元素开始找比他小的元素,放到第二个位置,以此类推,重复上述步骤,当进行到数组的第二个位置时…
之前写过js实现数组去重, 今天继续研究数组: 排序算法实现. 排序是数据结构主要内容,并不限于语言主要在于思想:大学曾经用C语言研究过一段时间的排序实现, 这段时间有空用JS再将排序知识点熟悉一遍. 理解排序不得不提的是日本人实现的一个排序动画站, 该站对于研究排序大有益处.当然本文的排序算法并不与其一致, 本文是9种js排序实现的实践与完善: 理解其9种算法然后使每种算法代码均能正常运行. 1.插入排序 最普通的排序算法, 从数组下标1开始每增1项排序一次,越往后遍历次数越多: 原理图: 代…
前提 假设 一个小怪 有三种属性,等级(level).品质(quality).id(pid) 我们需要对他们进行排序,两种排序情况,第一是单一属性排序,比如按照等级进行排序,或者多种属性进行优先级排序. 根据等级排序 local function testSort(a,b) return tonumber(a.level)> tonumber(b.level) end table.sort(tableName,testSort) 属性优先级排序 需求如下: --排列顺序优先级从高到低依次为: -…
2.3 归并排序 接口定义: int merge(void* data, int esize, int lpos, int dpos, int rpos, int (*compare)(const void* key1, const void* key2)); 返回值:成功 0:失败 -1. int merge_sort(void* data, int size, int esize, int lpos, int rpos, int (*compare)(const void* key1, co…
map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区 分),我们用map来进行存储就是个不错的选择. 我们这样定义,map<string, int>,其中学生姓名用string类型,作为Key:该学生的成绩用int类型,作为value.这样一来,我们可以根据学生姓名快速的查找到 他的成绩. 但是,我们除了希望能够查询某个学生的成绩,或许还想看看整体的情况.我们想把所有同学…