MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的用法解读

 更新时间:2025年06月20日 11:07:21   作者:十九本命  
这篇文章主要介绍了MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数

IF()

IF(expr1,expr2,expr3):

如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。类似三目运算符

IFNULL()

IFNULL(expr1,expr2):

如果expr1的值为null,则返回expr2的值,如果expr1的值不为null,则返回expr1的值。

NULLIF()

NULLIF(expr1,expr2):

如果expr1=expr2成立,那么返回值为null,否则返回值为expr1的值。

SELECT NULLIF('A','A'); -- 输出结果:null
SELECT NULLIF('A','B'); -- 输出结果:A

ISNULL()

ISNULL(expr):

如果expr的值为null,则返回1,如果expr1的值不为null,则返回0。

SELECT ISNULL(NULL); -- 输出结果:1
SELECT ISNULL('HELLO'); -- 输出结果:0

INSTR()

INSTR函数为字符查找函数,其功能是查找一个字符串在另一个字符串中首次出现的位置。

在此函数中可以自定义查找的初始位置,与出现次数的位置。

在一些特定的sql查询中可以替换like进行模糊查询,可以代替in判断包含关系

  • 在abcd中查找a的位置,从第一个字母开始查,查找第一次出现时的位置
select instr(‘abcd','a',1,1) from dual; —1
select instr(‘abcd','c',1,1) from dual; —3
select instr(‘abcd','e',1,1) from dual; —0
  • 应用于模糊查询:instr(字段名/列名, ‘查找字段’)
select code,name,dept,occupation from staff where instr(code, ‘001')> 0;
  • 等同于
select code, name, dept, occupation from staff where code like ‘%001%' ;
  • 应用于判断包含关系:
select ccn,mas_loc from mas_loc where instr(‘FH,FHH,FHM',ccn)>0;
  • 等同于
select ccn,mas_loc from mas_loc where ccn in (‘FH','FHH','FHM');

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL查看所有用户的实现

    MySQL查看所有用户的实现

    本文主要介绍了MySQL查看所有用户的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Scott 数据 映射 MySQL代码实现分享

    Scott 数据 映射 MySQL代码实现分享

    这篇文章主要介绍了Scott 数据 映射 MySQL,文章围绕Scott 数据 映射 MySQL的相关代码分享给大家,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-02-02
  • MySQL对数据库数据进行复制的基本过程详解

    MySQL对数据库数据进行复制的基本过程详解

    这篇文章主要介绍了MySQL对数据库数据进行复制的基本过程,解读了Slave的一些相关配置,需要的朋友可以参考下
    2015-11-11
  • mysql远程登录出错的解决方法

    mysql远程登录出错的解决方法

    mysql远程登录出错的情况,先比很多朋友都有遇到过吧,下面有个不错的解决方法,大家可以参考下
    2014-01-01
  • MySQL 的覆盖索引与回表的使用方法

    MySQL 的覆盖索引与回表的使用方法

    这篇文章主要介绍了MySQL 的覆盖索引与回表的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • mysqldumpslow用法示例(慢查询)

    mysqldumpslow用法示例(慢查询)

    这篇文章主要介绍了mysqldumpslow是mysql自带的用来分析慢查询的工具,需要的朋友可以参考下
    2016-08-08
  • 抽取oracle数据到mysql数据库的实现过程

    抽取oracle数据到mysql数据库的实现过程

    今天小编就为大家分享一篇关于抽取oracle数据到mysql数据库的实现过程,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • mysql 性能的检查和调优方法

    mysql 性能的检查和调优方法

    我一直是使用mysql这个数据库软件,它工作比较稳定,效率也很高。
    2009-05-05
  • Mysql实现合并多个分组(GROUP_CONCAT及其平替函数)

    Mysql实现合并多个分组(GROUP_CONCAT及其平替函数)

    MySQL 中提供了多种合并字符串的函数和操作方法,包括 GROUP_CONCAT、CONCAT_WS 和 CONCAT 等,本文介绍了 MySQL 中 GROUP_CONCAT 函数以及 CONCAT_WS、CONCAT 函数并通过示例代码演示了它们的用法,感兴趣的可以了解一下
    2023-10-10
  • 深入MYSQL字符数字转换的详解

    深入MYSQL字符数字转换的详解

    本篇文章是对MYSQL中的字符数字转换进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论