oracle的null值排序问题
2018-03-30 08:22
253 查看
ORACLE中null的排序问题
关键字: oracle nulls问题描述:在平时的业务处理中,经常遇到要对业务数据进行排序,并且要对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:使用其它函数,如decode,case。
方法3:nulls first或nulls 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
经过上述方法的比较,第三种方法比较方便。
转载自:https://blog.csdn.net/heartdiamond/article/details/6057562
相关文章推荐
- Oracle与Sybase null值排序问题
- 问题:oracle 排序 null值放在最后;结果: ORACLE中null的排序问题
- oracle查询排序时null值排前问题
- 关于oracle 数据库中字符字段的排序问题
- 【转】解决Oracle分页查询中排序与效率问题
- ORACLE中文排序方式 vs SQL Server 2005的中文排序问题
- Oracle 排序中常用的NULL值处理方法
- oracle 排序是,如果为null, 降序则排在最前面,怎么让这些null值排在最后面。 Nulls last
- Oracle 中汉字排序问题
- ORACLE SQL的隐式排序问题
- SQL分页排序的实现与分页数据重复问题——以Oracle rownum为例
- oracle、sqlserver数据库排序空值null问题解决办法
- Mysql 排序null值 排序问题分析
- oracle 含数字的字符串的排序问题
- oracle使用rownum跟排序的冲突问题解决
- Oracle 排序之NUll值的排序
- Oracle 排序中常用的NULL值处理方法
- ORACLE中文排序方式 vs SQL Server 2005的中文排序问题
- Oracle DISTINCT A 排序问题(转)
- Oracle分页查询中排序与效率问题