zoukankan      html  css  js  c++  java
  • SQL 中的 IFNULL和NULLIF

    sql 中的IFNULL和NULLIF很容易混淆,在此记录一下。

    IFNULL

    IFNULL(expression1, expression2)
    

    如果expression1为null, 在函数返回expression2,否则将返回expression1。

    例如

    mysql> select IFNULL(0,"a");
    +---------------+
    | IFNULL(0,"a") |
    +---------------+
    | 0             |
    +---------------+
    1 row in set (0.00 sec)
    

    第一个参数是0,不是NULL,所以结果是0.

    再例如,

    mysql> select IFNULL(NULL,"a");
    +------------------+
    | IFNULL(NULL,"a") |
    +------------------+
    | a                |
    +------------------+
    1 row in set (0.00 sec)
    
    mysql>
    

    第一个参数是NULL,所以结果是第二个参数"a"。

    NULLIF

    NULLIF(expression1, expression2)
    

    如果两个参数等价,则返回NULL ;否则,返回第一个参数。

    例如

    mysql> select NULLIF(1,2);
    +-------------+
    | NULLIF(1,2) |
    +-------------+
    |           1 |
    +-------------+
    1 row in set (0.00 sec)
    

    两个参数不相等,所以结果是第一个参数1。

    再例如,

    mysql> select NULLIF(1,1);
    +-------------+
    | NULLIF(1,1) |
    +-------------+
    |        NULL |
    +-------------+
    1 row in set (0.00 sec)
    

    两个参数相等,所以结果是NULL。

  • 相关阅读:
    emberjs初学记要
    自我的一点介绍(七夕礼物)
    JavaScript数据类型
    Vue+Webpack项目配置
    Git知识点整合
    Log4j简单配置解析
    如何明智地向程序员提问
    Navicat连接mysql报错1251
    多表查询sql语句
    PLSQL面向对象
  • 原文地址:https://www.cnblogs.com/lanyangsh/p/10055389.html
Copyright © 2011-2022 走看看