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 的作用 可以判断某个字段的值是否为 ...
随机推荐
- DevOps|研发效能治理:进化史、规模化与治理复杂性
麻广广@码猿外 研发效能这个词近几年火遍全网,各大企业都加入了研发效能治理的行列,开始梳理企业内部各个团队的研发流程,以期望找到企业降本增效的方向. 抛开政治因素,研发效能治理我们到底是在谈什么呢?从 ...
- pandas 缺失值与空值处理
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/lwgkzl/article/detail ...
- npm 切换源
切换到淘宝源 npm config set registry https://registry.npm.taobao.org 切换回官方源 npm config set registry http:/ ...
- python分割多个分隔符
想一次指定多个分隔符,可以用re模块 import retext='3.14:15'result = re.split('[.:]', text)print(result) 输出结果如下: ['3', ...
- Azure Terraform(十四)Azure Key Vault 的机密管理
一,引言 最近有网友私信我,将 Terraform 部署到 Azure 是一种将基础结构作为代码进行管理的好方法,但是如何使用 Azure Key Vault 来存储我们的 Secret ?在这篇博文 ...
- Dokcer学习之旅(1)——运行一个简单的容器
基本概念 镜像 我们都知道,操作系统分为 内核 和 用户空间.对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持.而 Docker 镜像(Image),就相当于是一个 ...
- 使用 Laf 一周内上线美术狮 AI 绘画小程序
"美术狮 AI 绘画"(以下简称"美术狮"),是我们小团队的一次尝试,定位是人人都可以上手的,充满创意的,理解中文和中国文化的图片生成工具. 在完善图像模型和论 ...
- 在线问诊 Python、FastAPI、Neo4j — 创建症状节点
目录 症状数据 创建节点 附学习 电子病历中,患者主诉对应的相关检查,得出的诊断以及最后的用药情况.症状一般可以从主诉中提取. 症状数据 symptom_data.csv CSV 中,没有直接一行一个 ...
- Vue源码学习(七):合并生命周期(混入Vue.Mixin)
好家伙, 1.使用场景 现在来,来想一下,作为一个使用Vue的开发者,假设现在我们要使用created(),我们会如何使用 1.1. .vue文件中使用 <template> < ...
- 【matplotlib基础】--3D图形
matplotlib 在1.0版本之前其实是不支持3D图形绘制的. 后来的版本中,matplotlib加入了3D图形的支持,不仅仅是为了使数据的展示更加生动和有趣.更重要的是,由于多了一个维度,扩展了 ...