适用情况:
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值进行处理
例如:select * from tab_a order by nvl(tab_a. col_a,’abc’ ) (asc/desc);