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值进行处理

例如:select * from tab_a order by nvl(tab_a. col_a,’abc’ ) (asc/desc);

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐