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
相关推荐
TDengine (老段)5 小时前
TDengine 数学函数 DEGRESS 用户手册
大数据·数据库·sql·物联网·时序数据库·iot·tdengine
TDengine (老段)5 小时前
TDengine 数学函数 GREATEST 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
安当加密6 小时前
云原生时代的数据库字段加密:在微服务与 Kubernetes 中实现合规与敏捷的统一
数据库·微服务·云原生
爱喝白开水a6 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱
想ai抽6 小时前
深入starrocks-多列联合统计一致性探查与策略(YY一下)
java·数据库·数据仓库
武子康6 小时前
Java-152 深入浅出 MongoDB 索引详解 从 MongoDB B-树 到 MySQL B+树 索引机制、数据结构与应用场景的全面对比分析
java·开发语言·数据库·sql·mongodb·性能优化·nosql
longgyy6 小时前
5 分钟用火山引擎 DeepSeek 调用大模型生成小红书文案
java·数据库·火山引擎
ytttr8737 小时前
C# 仿QQ聊天功能实现 (SQL Server数据库)
数据库·oracle·c#
盒马coding8 小时前
第18节-索引-Partial-Indexes
数据库·postgresql
不剪发的Tony老师8 小时前
CloudDM:一站式数据库开发管理工具
数据库