MySQL IFNULL函数
MySQL IFNULL函数简介
MySQL IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回第一个参数。 否则,IFNULL函数返回第二个参数。
两个参数可以是文字值或表达式。
以下说明了IFNULL函数的语法:
1 IFNULL(expression_1,expression_2);
如果expression_1不为NULL,则IFNULL函数返回expression_1; 否则返回expression_2的结果。
IFNULL函数根据使用的上下文返回字符串或数字。
如果要返回基于TRUE或FALSE条件的值,而不是NULL,则应使用IF函数。
MySQL的IFNULL函数示例
请参见以下IFNULL函数示例:
示例-1
1 SELECT IFNULL(1,0); -- returns 1
示例-2
1 SELECT IFNULL('',1); -- returns ''
示例-3
1 SELECT IFNULL(NULL,'IFNULL function'); -- returns IFNULL function
上面示例中的语句是怎么运行的?
IFNULL(1,0)返回1,因为1不为NULL。IFNULL('',1)返回'',因为''字符串不为NULL。IFNULL(NULL,'IFNULL function')返回IFNULL函数字符串,因为第一个参数为NULL。
我们来看一下使用IFNULL函数的实例。
首先,使用以下语句创建一个名为contacts的新表:
1 USE testdb;
2 CREATE TABLE IF NOT EXISTS contacts (
3 contactid INT AUTO_INCREMENT PRIMARY KEY,
4 contactname VARCHAR(20) NOT NULL,
5 bizphone VARCHAR(15),
6 homephone VARCHAR(15)
7 );
每个联系人都有一个名字,业务电话和家庭电话。
其次,将数据插入到contacts表中:
1 INSERT INTO contacts(contactname,bizphone,homephone)
2 VALUES('John Doe','(541) 754-3009',NULL),
3 ('Cindy Minsu',NULL,'(541) 754-3110'),
4 ('Sue Greenspan','(541) 754-3010','(541) 754-3011'),
5 ('Lily Bush',NULL,'(541) 754-3111');
一些联系人只有家庭电话或商务电话。要从contacts表中获取所有联系人姓名和电话,请使用以下查询:
1 SELECT 2 contactName, bizphone, homephone 3 FROM 4 contacts;
执行上面查询语句,得到以下结果 -
1 +---------------+----------------+----------------+
2 | contactName | bizphone | homephone |
3 +---------------+----------------+----------------+
4 | John Doe | (541) 754-3009 | NULL |
5 | Cindy Minsu | NULL | (541) 754-3110 |
6 | Sue Greenspan | (541) 754-3010 | (541) 754-3011 |
7 | Lily Bush | NULL | (541) 754-3111 |
8 +---------------+----------------+----------------+
9 4 rows in set
如果联系人的商务电话不可用,可以通过查询获得联系人的家庭电话也是一个获取联系方式的办法 -
1 SELECT 2 contactname, IFNULL(bizphone, homephone) phone 3 FROM 4 contacts;
这可以使用IFNULL()函数来解决。如果bizphone为NULL,则IFNULL函数将返回homephone的值。
第三,使用以下查询获取所有联系人的姓名和电话:
1 mysql> SELECT
2 contactname, IFNULL(bizphone, homephone) phone
3 FROM
4 contacts;
5 +---------------+----------------+
6 | contactname | phone |
7 +---------------+----------------+
8 | John Doe | (541) 754-3009 |
9 | Cindy Minsu | (541) 754-3110 |
10 | Sue Greenspan | (541) 754-3010 |
11 | Lily Bush | (541) 754-3111 |
12 +---------------+----------------+
13 4 rows in set
请注意,应避免在WHERE子句中使用IFNULL函数,因为它会降低查询的性能。
如果要检查值是否为NULL,则可以在WHERE子句中使用IS NULL或IS NOT NULL。
在本教程中,我们向您介绍了MySQL IFNULL函数,并向您展示了如何在查询中使用IFNULL函数。
MySQL IFNULL函数的更多相关文章
- 对MYSQL IFNULL函数的使用进行了具体的叙述
下文对MYSQL IFNULL函数的使用进行了具体的叙述.供您參考学习.假设您在MYSQL IFNULL函数使用方面遇到过类似的问题,最好还是一看. MYSQL IFNULL(expr1,expr2) ...
- MYSQL IFNULL函数的使用
IFNULL函数是MYSQL数据库中最重要的函数之一,下面就对该函数的使用方面进行分析,希望对您能够有所帮助. 下文对MYSQL IFNULL函数的使用进行了详细的叙述,供您参考学习,如果您在MYSQ ...
- MySQL IFNULL() 函数
MySQL函数 IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值. IFNULL() 函数语法格式为: IF ...
- mysql IFNULL函数和COALESCE函数使用技巧
IFNULL() 函数 IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值. IFNULL() 函数 ...
- MySQL IFNULL()函数用法MySQL
用法说明:IFNULL(expr1,expr2) 如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2. IFNULL()返回一个数字或字符串值,取决于它被使用 ...
- MYSQL IFNULL使用功能
稍后的MYSQL IFNULL使用此功能的特定叙事,供大家参考学习,假设你MYSQL IFNULL条款的使用功能类别遇到似问题.最好看. MYSQL IFNULL(expr1,expr2) ...
- MySQL IFNULL基本用法
MySQL IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回第一个参数. 否则,IFNULL函数返回第二个参数. 两个参数可以是文字值或表达式. 以下说明了IFNU ...
- SQLServer的ISNULL函数和Mysql的IFNULL函数
SQL Serve的ISNULL函数: ISNULL(check_expression,replacement_value) 1.check_expression与replacement_value的 ...
- mysql中的ifnull()函数判断空值
我们知道,在不同的数据库引擎中,内置函数的实现.命名都是存在差异的,如果经常切换使用这几个数据库引擎的话,很容易会将这些函数弄混淆. 比如说判断空值的函数,在Oracle中是NVL()函数.NVL2( ...
- Mysql 常用函数(3)- ifnull 函数
Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html ifnull 的作用 可以判断某个字段的值是否为 ...
随机推荐
- KVM 虚拟机 热插拔硬盘
新建硬盘 lvm 命令 lvcreate -L 200G -n lv02 ssd01 qemu-img 命令 qemu-img create -f raw test1G.raw 1G dd 命令 dd ...
- 快速入门OpenCv(python版)
OpenCV是一个(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,同时提供了Python. ...
- TCP四次挥手会经历这么多状态
TCP三次握手 中讲述了序列号和建立连接,这一篇来说说释放连接. 标志位 TCP首部中在属性标志位,和建立连接.释放连接有关,位于保留和窗口字段中间,其中三个标识与断开连接有关. ACK: ackno ...
- vue3封装筛选项
背景 项目开发中遇到筛选项,并且几个页面都有使用,依次写,太过于繁琐 筛选项解构如下 封装全局组件fjj-content <template> <div class="fj ...
- C++模板介绍
C++ 模板 C++ 模板是一种强大的泛型编程工具,它允许我们编写通用的代码,可以用于处理多种不同的数据类型.模板允许我们在编写代码时将类型作为参数进行参数化,从而实现代码的重用性和灵活性. 在 C+ ...
- vue2和vue3使用echarts时无数据,怎么显示暂无数据图片或文字
一开始也经历了用v-if和v-show,v-show的话echarts还会留出暂无数据图片的位置,导致echarts变形,v-if在加载和不加载切换时,dom会获取不到:后来也是在网上找的方法,时间有 ...
- Record - Nov. 28st, 2020 - Exam. REC
Prob. 1 Desc. & Link. 暴力为 \(\Theta(NK)\). 正解(也许): 把每一个全为正整数的子段找出来. 然后判断一下中间连接的情况即可. 但是这样决策情况太多了. ...
- C#开源、功能强大、免费的Windows系统优化工具 - Optimizer
前言 今天给大家推荐一款由C#开源.功能强大.免费的Windows系统优化工具 - Optimizer. 工具介绍 Optimizer是一款功能强大的Windows系统优化工具,可帮助用户提高计算机性 ...
- Linux——Linux必备的基础知识总结
文章目录 一.Linux操作系统概述 1.发展 2.组成 3.Linux的特性: 二.Linux操作系统安装 1.Linux的选择 2.安装Ubuntu Desktop 3.基本操作 三.Linux文 ...
- Python面向对象——面向对象介绍、实现面向对象编程、定义类、再调用类产生对象、总结__init__方法、查找顺序
文章目录 面向对象介绍 实现面向对象编程 一:先定义类 二:再调用类产生对象 总结__init__方法 查找顺序 面向对象介绍 ''' 面向过程: 核心是"过程"二字 过程的终极奥 ...