SQL查询排序将null值排到最后的两种解决方法
1、问题现象描述
在进行SQL查询排序时,如果遇到null值,一般默认都排在最上边,如下图所示:
SELECT id, lon from merchant_info ORDER BY lon

如果想将NULL值排在最后边该如何操作呢?,可以采用下边的两种解决方案:
2、解决方法一
如果使用的是ORACLE、SQL Server、DB2等数据库,可以使用 NULLS LAST 进行排序将NULL排到最后边。
SELECT id, lon from merchant_info ORDER BY lon NULLS LAST
如果进行降序排列时,想将NULL排在最前边可以使用 NULLS FIRST
SELECT id, lon from merchant_info ORDER BY lon desc NULLS FIRST
3、解决方法二
如果使用的MySQL数据库,则方法一不会生效,可以使用IF(ISNULL(lon),1,0) 将NULL排在最后:
SELECT id, lon from merchant_info ORDER BY IF(ISNULL(lon),1,0), lon
如果进行降序排列,想将NULL值排在最前,可以使用IF(ISNULL(lon),0,1):
SELECT id, lon from merchant_info ORDER BY IF(ISNULL(lon),0,1), lon DESC
到此这篇关于SQL查询排序将null值排到最后的两种解决方法的文章就介绍到这了,更多相关SQL查询将null值排最后内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
一个查看MSSQLServer数据库空间使用情况的存储过程 SpaceUsed
一个查看MSSQLServer数据库空间使用情况的存储过程 SpaceUsed...2007-02-02
SQLServer 数据库变成单个用户后无法访问问题的解决方法
今天不知怎么点错了东西,SQLServer中的一个数据库变成单用户了,而且无法访问,下面是解决方法,有需要的朋友可以参考一下2013-10-10
SQL语句过滤条件放在on与where子句中的区别和联系浅析
在写SQL语句的时候,我们经常会用到各种表连接,还有各种分组聚合函数,下面这篇文章主要给大家介绍了关于SQL语句过滤条件放在on与where子句中的区别和联系,需要的朋友可以参考下2022-09-09
SQL SERVER 2012新增函数之逻辑函数CHOOSE详解
这篇文章主要介绍了SQL SERVER 2012新增函数之逻辑函数CHOOSE的相关资料,文中介绍的很详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。2017-03-03


最新评论