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