MySQL中IFNULL函数的使用方法
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函数的使用方法相关推荐
- MySQL中IF函数的使用方法
定义 IF函数根据条件的结果为true或false,返回第一个值,或第二个值 语法 IF(condition, value_if_true, value_if_false) 参数 参数 描述 c ...
- mysql中ifnull函数
当里面的参数为null时使用第二个参数,否则使用第一个参数
- mysql中explain的使用,mysql使用方法_mysql中explain函数的使用方法
摘要 腾兴网为您分享:mysql中explain函数的使用方法,英语字典,小熊到家,腾讯新闻,刷机大师等软件知识,以及adobeflashplayerformac,灯光工厂,全民小视频,网盘解析,37 ...
- mysql数据库中count的作用_详解 MySQL中count函数的正确使用方法
1. 描述 在MySQL中,当我们需要获取某张表中的总行数时,一般会选择使用下面的语句 select count(*) from table; 其实count函数中除了*还可以放其他参数,比如常数.主 ...
- decode的mysql用法_oracle中decode函数的使用方法示例
decode的几种用法 1:使用decode判断字符串是否一样 DECODE(value,if1,then1,if2,then2,if3,then3,...,else) 含义为 IF 条件=值1 TH ...
- mysql中常用函数与存储过程的创建
mysql中常用函数与存储过程的创建 常用函数汇总 数学函数 字符串函数 日期和时间函数 条件判断函数 系统函数 加密函数 其他函数 自定义函数 自定义变量的声明和赋值 基本语法 实例 存储过程 事务 ...
- mysql中group_contact函数的使用
需求: 需要对查询的结果集多行合并为一行,中间结果以逗号分隔 实现: SELECT GROUP_CONCAT(number SEPARATOR ',') from oct_hr_record wher ...
- mysql中find_in_set()函数的使用及in()用法详解
From: http://www.manongjc.com/article/2710.html MySQL手册中find_in_set函数的语法解释: FIND_IN_SET(str,strlist) ...
- MySQL中concat函数(连接字符串)
MySQL中concat函数(连接字符串) MySQL中concat函数 使用方法: concat(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 ...
最新文章
- 不同版本浏览器前端标准兼容性对照表以及CORS解决跨域和CSRF安全问题解决方案
- Binder Driver浅析:Binder线程池
- 破解无线路由免费上网
- c++反汇编与逆向分析
- 编写一个程序,实现将存放在AX和DX中的32位数据循环右移二进制数的4位。(DX存放高字节内容,AX存放低字节内容)
- 自己改造 VSPaste 插件
- 七乐彩中奖规则表_【开奖】双色球第2020094期开奖结果出炉!你中奖了吗?
- MySQL 学习三:来教你如何完全卸载掉本地“头大的” MySQL 数据库!
- 转载:网关的概念以及形象的比喻
- JDBC14 ORM03 JavaBean封装
- Apache CarbonData学习资料汇总
- 网站维护怎么做?网站维护内容有哪些
- 通过powerbuilder直接读和写Excel文件,支持xlsx,xls,et等格式,不需要安装office excel,WPS等依赖
- 网络实验之EtherChannel技术实践
- 地缘剧本杀 (九):抉择(原创小说连载,内含语音)
- html input onfocus
- hey-cli初使用
- 不是每个音乐节都值得狂欢,抖音就不一样
- python项目中的.idea文件夹是干什么的
- 大数据三篇论文—Google Bigtable中文版
热门文章
- Python连接达梦数据库
- 基于Springboot 网上花店商城(源代码+数据库+报告) 010
- 使用注解来让后端获取前端参数的常用方式
- 2018主流台式计算机跑分,【新机】鲁大师2018手机系统排名,结果意外 | 又两款855新机跑分数据出炉...
- 今天,马云去马来西亚办了件大事,年轻人激动哭了!
- FFMPEG 使用记录
- iOS 深入理解SwiftUI
- Hacker Tools
- Python数据分析之双色球基于线性回归算法预测
- python随机字母不重复_PTA Python语言程序设计(7)7-2 输出10个不重复的英文字母 (15分)...