mysql实现if语句判断功能的6种使用形式小结

 更新时间:2023年07月25日 10:40:09   作者:小马穿云  
这篇文章主要给大家介绍了关于mysql实现if语句判断功能的6种使用形式,MySQL的IF既可以作为表达式用,也可在存储过程中作为流程控制语句使用,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

前言

在Mysql数据库中实现判断功能有很多方式,具体又分为函数和if语句形式,函数的好处是可以作为sql的一部分来运行,而if语句则需要在存储过程中使用。

一、ifnull函数

语法:

IFNULL(expression, alt_value)

解释:

判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值

参数说明:

Expression:必须,要测试的值
alt_value:必须,expression 表达式为 NULL 时返回的值。

常用示例:

expression_1参数为空,返回a

SELECT IFNULL(NULL, 'a');

expression_1参数不为空,返回1

SELECT IFNULL(1, 'a');

空字符串也表示有值,返回空字符串

SELECT IFNULL('', 'a');

0也表示有值,返回0

SELECT IFNULL(0, 'a');

二、nullif函数

语法:

NULLIF(expression1, expression2)

解释:

NULLIF()函数用于比较两个表达式。如果两个表达式相等,则NULLIF()函数将返回NULL,否则它将返回第一个表达式。

常用示例:

两个表达式相等,返回null

SELECT NULLIF('abc', 'abc');

两个表达式不等,返回第一个表达式abc

SELECT NULLIF('abc', 'abcd');

三、if函数

语法:

IF(expr1,expr2,expr3)

解释:

如果表达式expr1=true(expr1 <> 0 and expr1 <> NULL),返回expr2,否则返回expr3,IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

常用示例:

expr1参数为1,结果为真,返回正确

select if(1,'正确','错误');

四、if语句(多用于存储过程)

语法:

IF expression THEN 
statements;
END IF;

解释:

如果表达式求值为TRUE,则将执行语句,否则,控件将传递给后面的下一个语句。

五、if-else语句(多用于存储过程)

语法:

IF expression THEN
 statements;
ELSE
 else-statements;
END IF;

解释:

如果表达式求值为TRUE,则将执行statements语句,否则,执行else-statements语句。

六、if-elseif-else语句(多用于存储过程)

语法:

IF expression THEN
  statements;
ELSEIF elseif-expression THEN
  elseif-statements;
...
ELSE
  else-statements;
END IF;

解释:

如果表达式(expression)求值为TRUE,则IF分支中的语句(statements)将执行;如果表达式求值为FALSE,则如果elseif_expression的计算结果为TRUE,MySQL将执行elseif-expression,否则执行ELSE分支中的else-statements语句。

总结

到此这篇关于mysql实现if语句判断功能的6种使用形式的文章就介绍到这了,更多相关mysql if语句判断功能内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入分析mysql为什么不推荐使用uuid或者雪花id作为主键

    深入分析mysql为什么不推荐使用uuid或者雪花id作为主键

    这篇文章主要介绍了深入分析mysql为什么不推荐使用uuid或者雪花id作为主键,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 详解Windows Server 2012下安装MYSQL5.7.24的问题

    详解Windows Server 2012下安装MYSQL5.7.24的问题

    这篇文章主要介绍了Windows Server 2012下安装MYSQL5.7.24的详细过程,本文通过图文并茂实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • MySQL中的ALTER EVENT语句的具体使用

    MySQL中的ALTER EVENT语句的具体使用

    EVENT 是一种特殊的数据库对象,它允许你在指定的时间间隔或特定的时间自动执行SQL语句或语句集,本文主要介绍了MySQL中的ALTER EVENT语句的具体使用,感兴趣的可以了解一下
    2024-07-07
  • Windows10下MySQL5.7.19安装教程 MySQL忘记root密码修改方法

    Windows10下MySQL5.7.19安装教程 MySQL忘记root密码修改方法

    这篇文章主要为大家详细介绍了Windows10下MySQL5.7.19安装教程,以及MySQL忘记root密码的修改方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 使用xshell实现代理功能并navicat for MySQL 进行测试

    使用xshell实现代理功能并navicat for MySQL 进行测试

    本文介绍使用xshell实现代理功能并使用navicat for MySQL进行测试,文章主要利用SSH连接工具xshell就可以实现简单的代理功能,下面实现过程,需要的小伙伴可以参考一下
    2022-02-02
  • mysql 5.7.21 解压版安装配置图文教程

    mysql 5.7.21 解压版安装配置图文教程

    这篇文章主要为大家详细介绍了mysql 5.7.21 解压版安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • mysql ONLY_FULL_GROUP_BY设置sql_mode无效排查问题(windows)

    mysql ONLY_FULL_GROUP_BY设置sql_mode无效排查问题(windows)

    这篇文章主要介绍了mysql ONLY_FULL_GROUP_BY设置sql_mode无效排查问题(windows),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • MySQL 密码设置

    MySQL 密码设置

    本文介绍了如何修改一个用户的密码,你可以使用三种方法,GRANT语句、SET PASSWORD语句、直接修改授权表以及使用管理工具mysqladmin。
    2009-04-04
  • MySQL初级入门篇之视图的相关概念及应用实例

    MySQL初级入门篇之视图的相关概念及应用实例

    Mysql中的视图其实是一个虚拟表,使用时动态检索查询数据,下面这篇文章主要给大家介绍了关于MySQL初级入门篇之视图的相关概念及应用实例的相关资料,需要的朋友可以参考下
    2022-04-04
  • MySQL多表关联on和where速度对比实测看谁更快

    MySQL多表关联on和where速度对比实测看谁更快

    这篇文章主要介绍了MySQL多表关联on和where速度对比实测看谁更快问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论