sql判断NULL值:IF()、IFNULL()、NULLIF()、ISNULL()函数的区别使用

关于MySQL中对于NULL值的判断以及替换等问题中,我们可以使用IF()、IFNULL()、NULLIF()、ISNULL()函数,区别如下:

  1. IF()函数
    IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。

    sql 复制代码
    SELECT IF(TRUE,'1','0');    -- 1
    SELECT IF(FALSE,'1','0');   -- 0
  2. IFNULL()函数
    IFNULL(expr1,expr2),如果expr1的值为NULL,则返回expr2的值,如果expr1的值不为NULL,则返回expr1的值。

    sql 复制代码
    SELECT IFNULL(NULL,'0');    -- 0 
    SELECT IFNULL('123','0');   -- 123
  3. NULLIF()函数
    NULLIF(expr1,expr2),如果expr1=expr2成立,那么返回值为NULL,否则返回值为expr1的值。

    sql 复制代码
    SELECT NULLIF('1','1');     -- null
    SELECT NULLIF('1','2');     -- 1
  4. ISNULL()函数
    ISNULL(expr),如果expr的值为NULL,则返回1,如果expr1的值不为NULL,则返回0。

    sql 复制代码
    SELECT ISNULL(NULL);        -- 输出结果:1
    SELECT ISNULL('1');     -- 输出结果:0
相关推荐
聆听。。花开雨落6 小时前
mybatis的typeHandler 作用
数据库·mybatis
pxzsky7 小时前
PG17数据库安装中分分词插件:pg_jieba
数据库·postgresql·pg_jieba
她说可以呀7 小时前
Redis哨兵
数据库·redis·bootstrap
霸道流氓气质7 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
kirs_ur8 小时前
CXL(Compute Express Link)— 内存扩展的未来
服务器·数据库·性能优化
MonolithIoT9 小时前
实战方案|设备备件无人值守仓库:连续化产线运维备件 7×24 小时数字化管控方案
运维·网络·数据库
瞬间&永恒~9 小时前
【MySQL】4-6:在同一个主机上使用 systemd 运行多个 MySQL服务器
服务器·数据库·mysql
心机之蛙qee10 小时前
Redis的主从、哨兵及集群
数据库·redis·缓存
gwf21610 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件