MySQL IFNULL函数
IFNULL函数
MySQL IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回第一个参数。 否则(第一个参数是null),IFNULL函数返回第二个参数。
两个参数可以是文字值或表达式。
IFNULL函数的语法:
IFNULL(expression_1,expression_2);
说明:
如果expression_1不为NULL,则IFNULL函数返回expression_1; 否则返回expression_2的结果。
IFNULL函数根据使用的上下文返回字符串或数字。
如果要返回基于TRUE或FALSE条件的值,而不是NULL,则应使用IF函数。
IFNULL函数示例
示例-1
select ifnull(5,'1') #return 5
示例-2
SELECT IFNULL('',1); # return ''
示例-3
select ifnull(null,'1'); # return 1
上面示例中的语句是怎么运行的?
IFNULL(5,2)返回5,因为5不为NULL。
IFNULL(’’,1)返回’’,因为’'字符串不为NULL。
IFNULL(NULL,‘1’)返回IFNULL函数字符串,因为第一个参数为NULL。
IFNULL函数的实例。
首先,使用以下语句创建一个名为contacts的新表:
USE testdb;
CREATE TABLE IF NOT EXISTS contacts (contactid INT AUTO_INCREMENT PRIMARY KEY,contactname VARCHAR(20) NOT NULL,bizphone VARCHAR(15),homephone VARCHAR(15)
);
每个联系人都有一个名字,业务电话和家庭电话。
其次,将数据插入到contacts表中:
INSERT INTO contacts(contactname,bizphone,homephone)
VALUES('John Doe','(541) 754-3009',NULL),('Cindy Minsu',NULL,'(541) 754-3110'),('Sue Greenspan','(541) 754-3010','(541) 754-3011'),('Lily Bush',NULL,'(541) 754-3111');
一些联系人只有家庭电话或商务电话。要从contacts表中获取所有联系人姓名和电话,请使用以下查询:
SELECT contactName, bizphone, homephone
FROMcontacts;
执行上面查询语句,得到以下结果 -
+---------------+----------------+----------------+
| contactName | bizphone | homephone |
+---------------+----------------+----------------+
| John Doe | (541) 754-3009 | NULL |
| Cindy Minsu | NULL | (541) 754-3110 |
| Sue Greenspan | (541) 754-3010 | (541) 754-3011 |
| Lily Bush | NULL | (541) 754-3111 |
+---------------+----------------+----------------+
4 rows in set
如果联系人的商务电话不可用,可以通过查询获得联系人的家庭电话也是一个获取联系方式的办法 -
SELECT contactname, IFNULL(bizphone, homephone) phone
FROMcontacts;
这可以使用IFNULL()函数来解决。如果bizphone为NULL,则IFNULL函数将返回homephone的值。
第三,使用以下查询获取所有联系人的姓名和电话:
mysql> SELECT contactname, IFNULL(bizphone, homephone) phone
FROMcontacts;
+---------------+----------------+
| contactname | phone |
+---------------+----------------+
| John Doe | (541) 754-3009 |
| Cindy Minsu | (541) 754-3110 |
| Sue Greenspan | (541) 754-3010 |
| Lily Bush | (541) 754-3111 |
+---------------+----------------+
4 rows in set
请注意,应避免在WHERE子句中使用IFNULL函数,因为它会降低查询的性能。
如果要检查值是否为NULL,则可以在WHERE子句中使用IS NULL或IS NOT NULL。
MySQL IFNULL函数相关推荐
- MySQL ifnull()函数
转载自 MySQL ifnull()函数 MySQL IFNULL函数简介 MySQL IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回第一个参数. 否则,IFN ...
- MYSQL IFNULL函数的使用
IFNULL函数是MYSQL数据库中最重要的函数之一,下面就对该函数的使用方面进行分析,希望对您能够有所帮助. 下文对MYSQL IFNULL函数的使用进行了详细的叙述,供您参考学习,如果您在MYSQ ...
- MYSQL ifnull 函数 、if判断 、case when、 locate函数
1.MYSQL ifnull 函数 .if判断 .case when. locate (1).IFNULL(expr1,expr2) 如果expr1为空(即NULL),返回expr2,如果expr1 ...
- mysql ifnull 深入_带您深入了解MySQL ifnull()函数
MySQL ifnull()函数和nvl()函数类似,但是也有所不同,下面就为您详细介绍MySQL ifnull()函数 ,希望可以让您对MySQL ifnull()函数有更深的认识. IFNULL( ...
- MySQL IFNULL() 函数
MySQL函数 IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值. IFNULL() 函数语法格式为: IF ...
- MySQL IFNULL()函数用法MySQL
用法说明 1 IFNULL(expr1,expr2) 如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2. IFNULL()返回一个数字或字符串值,取决于它被 ...
- php mysql ifnull函数_MYSQL中的IFNULL函数
手册上: IFNULL(expr1,expr2) 假如expr1不为NULL,则IFNULL()的返回值为 expr1;否则其返回值为 expr2.IFNULL()的返回值是数字或是字符串,具体情况取 ...
- mysql ifnull 性能_MYSQL IFNULL函数的使用
下文对MYSQL IFNULL函数的使用进行了详细的叙述,供您参考学习,如果您在MYSQL IFNULL函数使用方面遇到过类似的问题,不妨一看. MYSQL IFNULL(expr1,expr2) 如 ...
- MySQL IFNull 详解
MySQL ifnull()函数和nvl()函数类似,但是也有所不同,下面就为您详细介绍MySQLifnull()函数 ,希望可以让您对MySQL ifnull()函数有更深的认识. IFNULL(e ...
最新文章
- 深度优先搜索_0基础学算法 搜索篇第一讲 深度优先搜索
- 解决umount.nfs: /data: device is busy 问题
- LeetCode Pascal's Triangle
- Android应用程序的五大基本组件
- 操作系统 实验3【动态分区存储管理】
- Java Spring初学者之调试器里括号包含的类含义
- 如何展示富文本_自助建站如何做出个性化效果?
- 嵌入式开发之davinci--- MSB和LSB
- ObjC学习8-重头戏来了!Foundation框架
- 心斋-------马克奥勒流
- 一个用于分布式DNN训练加速的通用通信调度器
- HashMap基本原理
- 2022考研数学学习资源分享203G视频之tang家凤数学全程班网盘分享
- C#基础与VB基础比较
- Opencv之人脸识别
- 操作系统原理第五章(资源分配与调度)
- lotus-miner 元数据备份
- asm cli/sti 指令
- 从零开始学数据分析之——《线性代数》第三章 n维向量
- 通货膨胀理解之计算1年后100w贬值多少
热门文章
- VC++中多线程学习(MFC多线程)二(线程的相关操作、线程间的通信)
- 前端网页发布到nginx_通过nginx部署前端代码实现前后端分离
- Java 多态的特性和概念
- 归档日志存在arch_还在用ELK? 是时候了解一下轻量化日志服务Loki了
- 语言怎么得到直流电压并采样_250V10A高频直流电源/大电流直流稳压稳流电源
- zookeeper安装_Centos7安装配置Zookeeper
- 斯坦福-随机图模型-week1.4_
- R Markdown 使用方法笔记
- POJ 3071 概率DP
- python 编码报错问题 'ascii' codec can't encode characters 解决方法