SQL查询排序将null值排到最后的两种解决方法


    目录
  • 1、问题现象描述
  • 2、解决方法一
  • 3、解决方法二

    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值排最后内容请搜索电脑手机教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持电脑手机教程网!