在工作中,难免会碰到排序的需求。使用order by排序后,升序时,发现null值排在最后面;降序时,发现null值排在最前面。可是在实际需求中,我们要的并不是这种效果。这里提出两种解决方法:
1.使用nulls last / nulls first
nulls first:表示把null值的记录排在最前面
nulls last:表示把null值的记录排在最后面
eg:select * from student order by score nulls first
2.使用nvl()函数
eg:select nvl(score, 0) from student order by score desc
此处的nvl(score, 0)函数判断score字段是否为空,若为空显示0,若不为空显示score字段值