order by 语句对null字段的默认排序
来源:互联网 发布:伊特进销存软件 编辑:程序博客网 时间:2024/05/17 03:48
在使用order by语句进行查询结果排序时,不同的数据库对于被排序字段数据行为null的情况,处理方式有所不同,这里我们主要考虑oracle和MySQL数据库。
首先我们直接给出结论:
leeyee 写道
【Oracle 结论】
order by colum asc 时,null默认被放在最后
order by colum desc 时,null默认被放在最前
nulls first 时,强制null放在最前,不为null的按声明顺序[asc|desc]进行排序
nulls last 时,强制null放在最后,不为null的按声明顺序[asc|desc]进行排序
【MySql 结论】
order by colum asc 时,null默认被放在最前
order by colum desc 时,null默认被放在最后
ORDER BY IF(ISNULL(update_date),0,1) null被强制放在最前,不为null的按声明顺序[asc|desc]进行排序
ORDER BY IF(ISNULL(update_date),1,0) null被强制放在最后,不为null的按声明顺序[asc|desc]进行排序
order by colum asc 时,null默认被放在最后
order by colum desc 时,null默认被放在最前
nulls first 时,强制null放在最前,不为null的按声明顺序[asc|desc]进行排序
nulls last 时,强制null放在最后,不为null的按声明顺序[asc|desc]进行排序
【MySql 结论】
order by colum asc 时,null默认被放在最前
order by colum desc 时,null默认被放在最后
ORDER BY IF(ISNULL(update_date),0,1) null被强制放在最前,不为null的按声明顺序[asc|desc]进行排序
ORDER BY IF(ISNULL(update_date),1,0) null被强制放在最后,不为null的按声明顺序[asc|desc]进行排序
注:以上结果是在oracle11g及mysql5下的测试结果。
因此当我们在order by时,为了强制说明对于null的排序顺序就必须使用到:
针对【oracle】我们就需要使用以下语法:
而针对【mysql】我们则需要使用以下语法:
下面在oracle11g下做个测试:
测试数据:
rownumcreate_dateupdate_date120-3月 -1118-6月 -11220-4月 -11 320-5月 -1120-6月 -11【无排序/默认排序】
leeyee 写道
[结果]
1 18-6月 -11
2
3 20-6月 -11
1 18-6月 -11
2
3 20-6月 -11
【asc排序】
leeyee 写道
[结果]
1 20-6月 -11
2 18-6月 -11
3
1 20-6月 -11
2 18-6月 -11
3
【desc排序】
leeyee 写道
[结果]
1
2 18-6月 -11
3 20-6月 -11
1
2 18-6月 -11
3 20-6月 -11
【asc排序,强制null放在最前】
leeyee 写道
[结果]
1
2 20-6月 -11
3 18-6月 -11
1
2 20-6月 -11
3 18-6月 -11
【asc排序,强制null放在最后】
leeyee 写道
[结果]
1 20-6月 -11
2 18-6月 -11
3
1 20-6月 -11
2 18-6月 -11
3
mysql5.0测试
1 0
- order by 语句对null字段的默认排序
- order by 语句对null字段的默认排序
- order by 语句对null字段的默认排序
- order by 语句对null字段的默认排序
- order by 语句对null字段的默认排序
- order by 语句对null字段的默认排序
- MySQL中order by语句对null字段的排序
- MySQL中order by语句对null字段的排序
- MySQL中order by语句对null字段的排序
- sql中order by对null值的排序
- row_number () over(partition by order by) 在 impala 和 hive 中的对NULL排序的问题
- order by后多个字段的排序
- SQL语句order by两个字段同时排序。
- SQL语句order by两个字段同时排序
- SQL语句order by两个字段同时排序问题
- SQL语句order by两个字段同时排序。
- SQL语句order by两个字段同时排序。
- SQL语句order by两个字段同时排序
- 数组中元素的排序,查找
- 指针及scanf函数的运用
- (HDU 1429)胜利大逃亡(续) BFS + 二进制状态压缩
- 用程序解决生活中的“选择困难症”
- Java中CAS详解
- order by 语句对null字段的默认排序
- 再探Fork之孤儿进程与僵尸进程
- 一、百度2017春招 <买帽子>
- Windows7搭建Apache本地服务器+PHP环境
- 常用集合ArrayList浅度解析(博客园迁移)
- springBoot 由jar包转换为war包
- SSh整合
- JAVA设计模式之享元模式
- Android所有的颜色