ORACLE中null的排序问题

简介: ORACLE中null的排序问题

在平时的业务处理中,经常遇到要对业务数据进行排序,并且要对null值也做相应的排序。在Oracle中,进行Order by排序时缺省认为null是最大值,所以如果是ASC升序则被排在最后,而DESC降序则排在最前。有的时候我们需要在降序排列时,同时要将null的数据排到最后,应该如何处理。

方法1:使用nvl函数

语法:Nvl(expr1, expr2)

   若EXPR1是NULL,则返回EXPR2,否则返回EXPR1

SELECT NAME,NVL(TO_CHAR(COMM),'NOT APPLICATION') FROM TABLE1;

认识了NVL的语法,就可以在排序中使用,如: ORDER BY NVL(FIELD, '0')

方法2:使用其它函数,如:decodecase
方法3:nulls firstnulls last

语法:

   Nulls first:表示null值的记录将排在最前

   Nulls last:表示null值的记录将排在最后

 --null值始终放在最前面
 select * from ac01 order by aac001 asc nulls first
 --null值始终放在最后面
 select * from ac01 order by aac001 desc nulls last

经过上述方法的比较,第三种方法比较方便。


相关文章
|
4月前
orderBy排序,null在最后
orderBy排序,null在最后
71 0
|
8月前
|
SQL Oracle 关系型数据库
解决:Oracle数据库中Left join on 后面为null时匹配不上
解决:Oracle数据库中Left join on 后面为null时匹配不上
130 0
|
9月前
|
关系型数据库 MySQL
Mysql排序字段为NULL如何排序
讲述工作中遇到的Mysql排序字段为NULL时如何排序
|
8月前
对List进行排序,值为null的排到最后
对List进行排序,值为null的排到最后
|
3月前
|
Oracle 关系型数据库 数据库
Oracle查询优化-处理排序空值
【1月更文挑战第3天】【1月更文挑战第8篇】在处理Oracle查询结果排序时,如果涉及到空值(null),Oracle提供了一些特定的语法来帮助您控制排序的顺序。
28 0
|
3月前
|
Oracle 关系型数据库 索引
Oracle查询优化-按照子串排序
【1月更文挑战第2天】【1月更文挑战第4篇】有一种速查法就是按照一个字段的某一部分值的顺序记录,这样在查找的时候就可以快速缩小查询范围,例如按电话号码尾号查询。
29 1
|
4月前
|
SQL JSON Java
Java【问题记录 02】对象封装+固定排序+list All elements are null引起的异常处理+Missing artifact com.sun:tools:jar:1.8.0
Java【问题记录 02】对象封装+固定排序+list All elements are null引起的异常处理+Missing artifact com.sun:tools:jar:1.8.0
43 0
|
7月前
|
SQL Oracle 关系型数据库
oracle数据库中对汉字跟英文字母混合排序
oracle数据库中对汉字跟英文字母混合排序
55 0
|
11月前
|
Oracle 关系型数据库 数据库管理
Oracle查询优化-02给查询结果排序
Oracle查询优化-02给查询结果排序
109 0
|
11月前
|
SQL Oracle 关系型数据库
Oracle-分析函数之排序后顺序号row_number()
Oracle-分析函数之排序后顺序号row_number()
69 0

推荐镜像

更多