order by 升序排序是null字段如何排在最后?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了order by 升序排序是null字段如何排在最后?相关的知识,希望对你有一定的参考价值。
order by 升序排序是null字段如何排在最后?
参考技术A 利用IsNull语句..如Order by IsNull(字段,'')或IsNull(字段,'ZZZ')本回答被提问者采纳 参考技术B 如 order by *** 这样null字段派在最前面,那么你order by *** desc 这样不就在最后了么
Oracle order by 处理NULL值
问题点:缺省处理 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前
解决方案:
使用nulls first 或者nulls last 语法
Nulls first和nulls last是Oracle Order by支持的语法
如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 desc)
如果Order by 中指定了表达式Nulls last则表示null值的记录将排在最后 (不管是asc 还是 desc)
--将nulls始终放在最后
select * from user where age > 18 order by birthday desc nulls last;
--将nulls始终放在最前
select * from user where age > 18 order by birthday nulls first
以上是关于order by 升序排序是null字段如何排在最后?的主要内容,如果未能解决你的问题,请参考以下文章