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
相关推荐
深念Y1 小时前
Opencode Event 表写入优化方案
数据库·人工智能·ai·node.js·bug·优化·opencode
竹枝溪2 小时前
MySQL进阶:约束、多表设计、多表查询与事务
java·数据库·mysql·事务·子查询·acid·多表查询
weixin_431600442 小时前
NestJS 入门(9):连上数据库,SQL 写在哪?
数据库·后端·sql·学习·nest.js
math_hongfan3 小时前
一对多的数据库姻缘:ArkTS 为鸿蒙订单设计外键与明细表
数据库·华为·harmonyos
城管不管3 小时前
MySQL 慢查询完整排查
java·服务器·jvm·数据库·mysql·spring·面试
XLYcmy3 小时前
PDF论文处理器 - 功能总结
数据库·python·pdf·csv·pymupdf·dify·文本分割
树码小子3 小时前
MySQL 的事务隔离级别(重点面试题)
数据库·mysql
01_ice3 小时前
MySQL表的约束
数据库·sql·mysql
北漂燕郊杨哥3 小时前
Win11 环境下 phpStudy 安装 Redis 最新版,并为 PHP 8.5.9(NTS)配置 redis 扩展
数据库·redis·php
AlfredZhao3 小时前
SQL JOIN 写法:把多表关联条件写清楚
sql