服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解

MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解

2021-08-24 17:30大玉玉 Mysql

在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函数进行流程的控制。本文就详细的介绍这几种方法,感兴趣的可以了解一下

在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函数进行流程的控制。

1、IF()函数的使用

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

?
1
2
SELECT IF(TRUE,'A','B');    -- 输出结果:A
SELECT IF(FALSE,'A','B');   -- 输出结果:B

2、IFNULL()函数的使用

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

例1

?
1
2
3
4
5
6
7
8
mysql>   SELECT   IFNULL(1,0);  
                      ->   1  
mysql>   SELECT   IFNULL(NULL,10);  
                      ->   10  
mysql>   SELECT   IFNULL(1/0,10);  
                      ->   10  
mysql>   SELECT   IFNULL(1/0,'yes');  
                      ->   'yes'

例2

?
1
2
SELECT IFNULL(NULL,'B');    -- 输出结果:B
SELECT IFNULL('HELLO','B'); -- 输出结果:HELLO

3、NULLIF()函数的使用

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

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

4、ISNULL()函数的使用

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

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

到此这篇关于MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解的文章就介绍到这了,更多相关MySQL中IF()、IFNULL()、NULLIF()、ISNULL()内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/xingyu0806/article/details/52080962

延伸 · 阅读

精彩推荐
  • Mysql细谈Mysql的存储过程和存储函数

    细谈Mysql的存储过程和存储函数

    存储函数与存储过程作用类同,不同的是存储过程只能使用CALL语句来调用存储过程,只能用输出变量返回值,而存储函数可以从语句外调用(即通过引用函数...

    王廷骏2742020-09-28
  • MysqlMySQL 5.5的max_allowed_packet属性的修改方法

    MySQL 5.5的max_allowed_packet属性的修改方法

    今天在部署一个实验系统的时候,报错提示需要修改一下MySQL的配置文件,在修改的时候是有技巧的,大家可以参考下本文尝试操作下 ...

    MYSQL教程网2072020-01-09
  • MysqlMysql表,列,库增删改查问题小结

    Mysql表,列,库增删改查问题小结

    下面是我总结的一些基础的sql知识,方便以后使用,需要的朋友参考可以参考下 ...

    whiteme1482020-08-03
  • Mysqlmysql中coalesce()的使用技巧小结

    mysql中coalesce()的使用技巧小结

    在mysql中,其实有不少方法和函数是很有用的,这次介绍一个叫coalesce的,拼写十分麻烦,但其实作用是将返回传入的参数中第一个非null的值,下面这篇文...

    范特西的麦田1402020-07-30
  • MysqlMySQL5.7中 performance和sys schema中的监控参数解释(推荐)

    MySQL5.7中 performance和sys schema中的监控参数解释(推荐)

    在MySQL5.7中,performance schema有很大改进,包括引入大量新加入的监控项、降低占用空间和负载,以及通过新的sys schema机制显著提升易用性。下面通过本文给...

    一个笨小孩3142020-08-05
  • MysqlMySQL:reading initial communication packet问题解决方法

    MySQL:reading initial communication packet问题解决方法

    网站访问出现如题错误,经过检查my.cnf,发现innodb_buffer_pool_size = 2048M 设置过大,调整为innodb_buffer_pool_size = 1024M即可,网上也有该问题的其他解决方法,但...

    mdxy-dxy126392019-12-03
  • MysqlMySQL分页Limit的优化过程实战

    MySQL分页Limit的优化过程实战

    在mysql中进行分页查询时,一般会使用limit查询,下面这篇文章主要给大家介绍了关于MySQL分页Limit优化的相关资料,文中通过示例代码介绍的非常详细,需...

    旧梦发癫2802019-06-27
  • Mysqlmysql主从服务器配置特殊问题

    mysql主从服务器配置特殊问题

    如果修改了主服务器的配置,记得删除从服务器上的master.info文件。否则从服务器使用的还是老配置,可能会导致错误。 ...

    mysql教程网2122019-11-12