IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回第一个参数。 否则,IFNULL函数返回第二个参数。

两个参数可以是文字值或表达式。

一、语法格式

IFNULL(expression_1,expression_2);

如果expression_1不为NULL,则IFNULL函数返回expression_1; 否则返回expression_2的结果。

如果要返回基于TRUE或FALSE条件的值,而不是NULL,则应使用IF函数。

二、简单示例

SELECT IFNULL(1,2);       -- returns 1

SELECT IFNULL('',2);        -- returns ''(空字符串也是有值)

SELECT IFNULL(0,2);       -- returns 0(0也是有值)

SELECT IFNULL(NULL,'暂无数据'); -- returns '暂无数据'

上述四个示例的结果表明,查询的字段不管是0还是空字符串,都不为null,会原样输出,只有查询的字段为null时,才会使用第二个参数,即自定义的文本或者数字显示。

三、应用场景

当两个表关联查询时,如果A表为主表,B表为关联表,且B表无数据时,如果为null的话我们可以换个文案显示。

例:A表是学生表
CREATE TABLE `student` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `nick` VARCHAR(20) NOT NULL,
    `class_id` INT(11) NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE
);

INSERT INTO student(nick, class_id) VALUES ('xiaoming', 1),('xiaohong', 2),('xiaogang', 0)

B表是班级表

CREATE TABLE `class` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
PRIMARY KEY (`id`) USING BTREE
);

INSERT INTO class(name) VALUES ('一班'),('二班'),('三班')

当我们关联查询时,已经分过班级的学生显示班级,暂无班级的学生显示暂无班级,这种业务场景下就要使用if null条件

例:SELECT s.id as '学生id',s.nick as '学生昵称',IFNULL(c.name,'暂无班级') as '班级' FROM student s LEFT JOIN class c on s.class_id = c.id

查询结果为:

学生id   学生昵称   学生班级

1          xiaoming    一班
2          xiaohong    二班
3          xiaogang    暂无班级

MySQL中IFNULL函数的使用方法相关推荐

  1. MySQL中IF函数的使用方法

    定义 IF函数根据条件的结果为true或false,返回第一个值,或第二个值 语法 IF(condition, value_if_true, value_if_false) 参数 参数    描述 c ...

  2. mysql中ifnull函数

    当里面的参数为null时使用第二个参数,否则使用第一个参数

  3. mysql中explain的使用,mysql使用方法_mysql中explain函数的使用方法

    摘要 腾兴网为您分享:mysql中explain函数的使用方法,英语字典,小熊到家,腾讯新闻,刷机大师等软件知识,以及adobeflashplayerformac,灯光工厂,全民小视频,网盘解析,37 ...

  4. mysql数据库中count的作用_详解 MySQL中count函数的正确使用方法

    1. 描述 在MySQL中,当我们需要获取某张表中的总行数时,一般会选择使用下面的语句 select count(*) from table; 其实count函数中除了*还可以放其他参数,比如常数.主 ...

  5. decode的mysql用法_oracle中decode函数的使用方法示例

    decode的几种用法 1:使用decode判断字符串是否一样 DECODE(value,if1,then1,if2,then2,if3,then3,...,else) 含义为 IF 条件=值1 TH ...

  6. mysql中常用函数与存储过程的创建

    mysql中常用函数与存储过程的创建 常用函数汇总 数学函数 字符串函数 日期和时间函数 条件判断函数 系统函数 加密函数 其他函数 自定义函数 自定义变量的声明和赋值 基本语法 实例 存储过程 事务 ...

  7. mysql中group_contact函数的使用

    需求: 需要对查询的结果集多行合并为一行,中间结果以逗号分隔 实现: SELECT GROUP_CONCAT(number SEPARATOR ',') from oct_hr_record wher ...

  8. mysql中find_in_set()函数的使用及in()用法详解

    From: http://www.manongjc.com/article/2710.html MySQL手册中find_in_set函数的语法解释: FIND_IN_SET(str,strlist) ...

  9. MySQL中concat函数(连接字符串)

    MySQL中concat函数(连接字符串) MySQL中concat函数 使用方法: concat(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 ...

最新文章

  1. 不同版本浏览器前端标准兼容性对照表以及CORS解决跨域和CSRF安全问题解决方案
  2. Binder Driver浅析:Binder线程池
  3. 破解无线路由免费上网
  4. c++反汇编与逆向分析
  5. 编写一个程序,实现将存放在AX和DX中的32位数据循环右移二进制数的4位。(DX存放高字节内容,AX存放低字节内容)
  6. 自己改造 VSPaste 插件
  7. 七乐彩中奖规则表_【开奖】双色球第2020094期开奖结果出炉!你中奖了吗?
  8. MySQL 学习三:来教你如何完全卸载掉本地“头大的” MySQL 数据库!
  9. 转载:网关的概念以及形象的比喻
  10. JDBC14 ORM03 JavaBean封装
  11. Apache CarbonData学习资料汇总
  12. 网站维护怎么做?网站维护内容有哪些
  13. 通过powerbuilder直接读和写Excel文件,支持xlsx,xls,et等格式,不需要安装office excel,WPS等依赖
  14. 网络实验之EtherChannel技术实践
  15. 地缘剧本杀 (九):抉择(原创小说连载,内含语音)
  16. html input onfocus
  17. hey-cli初使用
  18. 不是每个音乐节都值得狂欢,抖音就不一样
  19. python项目中的.idea文件夹是干什么的
  20. 大数据三篇论文—Google Bigtable中文版

热门文章

  1. Python连接达梦数据库
  2. 基于Springboot 网上花店商城(源代码+数据库+报告) 010
  3. 使用注解来让后端获取前端参数的常用方式
  4. 2018主流台式计算机跑分,【新机】鲁大师2018手机系统排名,结果意外 | 又两款855新机跑分数据出炉...
  5. 今天,马云去马来西亚办了件大事,年轻人激动哭了!
  6. FFMPEG 使用记录
  7. iOS 深入理解SwiftUI
  8. Hacker Tools
  9. Python数据分析之双色球基于线性回归算法预测
  10. python随机字母不重复_PTA Python语言程序设计(7)7-2 输出10个不重复的英文字母 (15分)...