Oracle之ORDER BY】的更多相关文章

1.缺省处理 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前 2.使用nvl函数 nvl函数可以将输入参数为空时转换为一特定值,如 nvl(employee_name,’张三’)表示当employee_name为空时则返回’张三’,如果不为空则返回employee_name 通过这个函数可以定制null的排序位置. 3.使用decode函数 decode函数比nvl函数更强大,同样它也可以将输入参数为空时转换为一特定值,如 de…
oracle的order by decode根据文字自定义排序的例子: order by decode(t.title, '当前生效预警', 1, '今日即将生效', 2, '明日预计生效', 3, '本月累计发布', 4, '本月累计完成(含延续)', 5, '年度累计发布', 6, '年度累计完成(含延续)', 7, 0) ; 这样文字就会按照0.1.2.3对应的顺序排序了:…
------------基本查询--1.查询出的是一张虚拟的结果表-----基本语法---- * 所有列(字段)select * from emps; -----查询指定字段select employee_id,first_name||last_name,salary from emps; ----根据条件查询select * from emps where first_name||last_name='StevenKing'; ---查询部门编号100下的所有员工的姓名,编号,系统当前时间se…
Oracle 中查询结果按照某个中文字段或者英文字母(包括 符号)排序,并不会得到我们预期的结果,因为对于中文与英文字母及符号,Oracle实际是按照其对应的ASCII码值排序的! 可以看到按照中文村名排序并没有按照我们预期,按照村名的拼音字段排序,也是一样(实际是按照其对应的ASCII码值排序)! 当然,Oracle也提供了按照中文拼音排序,按照部首或笔画排序,方式如下: 按照拼音顺序:ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_PINYIN_M') 按…
问题:今天在工作中,在service中调用分页查询列表接口的时候,返回的到页面的数据中总是存在缺失的数据,还有重复的数据. 分析:select * from (select ROWNUM rn,t.* from (select * from student order by class) t where ROWNUM <![CDATA[<]]>#{1.endIndex}) where rn <![CDATA[>=]]>#{1.startIndex} 当endIndex为…
简单说下问题,有一个JDBC的查询SQL,分页查询语句中有一个排序order by create_time,理论上来说JDBC查询已经是比较底层的技术了,没有像Hibernate.MyBatis那样又对JDBC进行了封装,效率肯定是最好的,可谁想,3w多条数据,竟然慢的要死,经常抛出超时异常 遇到问题之后,首先在网上搜罗资料 关于Oracle排序的:http://blog.sina.com.cn/s/blog_8604ca230100vro9.html 也找到一个排序分页很慢的帖子:http:/…
 工作中遇到的问题: 为调用方提供一个分页接口时,调用方一直反应有部分数据取不到,且取到的数据有重复的内容,于是我按以下步骤排查了下错误. 1.检查分页页码生成规则是否正确. 2.检查SQL语句是否正确.(后来确认是SQL中order by作祟,犯了想当然的错误,认为SQL是最不可能出问题的地方,因为分页SQL格式与老代码分页SQL格式一样,所以没有怀疑.) 3.检查调用方入参是否正确. 4.检查调用方循环遍历边界. 5.在上述步骤验证没问题后,怀疑ibatis,调试到ibatis中,花费大量时…
/*Oracle数据库查询日期在两者之间*/ SELECT DISTINCT ATA FROM LM_FAULT WHERE ( OCCUR_DATE BETWEEN to_date( '2017-05-01', 'yyyy-MM-DD' ) AND to_date( '2017-05-15', 'yyyy-MM-DD' ) ) ORDER BY ATA DESC ; 修改如下: 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦…
在使用order by排序的时候,出现如下情况:   印象中中文排序应该默认是按照拼音排序的,为何"鑫"会排在"中"的后面呢?猜想order by是不是根据对应字符的ASCII码排的呢,因此列出了对应的ASCII,如下:   由此基本可以断定,确实是通过ASCII的大小来排序的,这也解释了为什么数字会排在字母之前,字母为什么会排在汉字之前的现象.但是为什么会出现汉字默认是通过拼音排序的错觉呢,于是查了一下汉字的编码规则,有提到如下一句:       "一级…
select * from ( select a.id,a.oacode,a.custid,a.custname,a.xsz,a.salename,a.communicationtheme,a.communicationproperty,a.communicationtime,a.productmanager,a.creator,a.createdate from technology_flow a where a.oastate='正常结束' union select b.id,b.oacod…