oracle使用order by排序null值如何处理

如题所述

适用情况:oracle 对查询结果进行排序时,被排序的栏位存在null值,且要指定NULL值排在最前面或者最后面关键字:Nulls First;Nulls Last默认情况:null 默认为最大值(即:asc 升序<小-->大>,null值排在最后;desc 降序<大-->小>,null值排在最前面)指定:1.Oracle Order by支持的语法2.指定Nulls first 则表示null值的记录将排在最前(不管是asc 还是desc)3.指定Nulls last 则表示null值的记录将排在最后(不管是asc 还是desc)语法举例:(Table:Tab_A 有部分空值的栏位Col_A)select * from Tab_A order by Tab_A. Col_A (asc/desc) nulls first------>null 值排在最前面select * from Tab_A order by Tab_A. Col_A (asc/desc) nulls last ------>null 值排在最后面其他方法:在order by 的时候,用Nvl、NVL2 、Decode、case .....when....end;等函数对栏位的null值进行处理
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-31

适用情况:oracle 对查询结果进行排序时,被排序的栏位存在null值,且要指定NULL值排在最前面或者最后面,


在order by 的时候,用Nvl、NVL2 、Decode、case .....when....end;等函数对栏位的null值进行处理。

排序要看用什么字段排序,可以单个字段,也可以多个字段,这些与存在值是否为null无关。
如下列数据


id name class
1     a        1
2     b       null
3     c        null




现在要按id和class排序,其中id为主要排序字段,class为次要排序字段


可写如下语句


select * from 表名 order by id,class。

本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网