MySQL ifnull()函数
转载自 MySQL ifnull()函数
MySQL IFNULL函数简介
MySQL IFNULL
函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL
,则返回第一个参数。 否则,IFNULL
函数返回第二个参数。
两个参数可以是文字值或表达式。
以下说明了IFNULL
函数的语法:
IFNULL(expression_1,expression_2);
如果expression_1
不为NULL
,则IFNULL
函数返回expression_1
; 否则返回expression_2
的结果。
IFNULL
函数根据使用的上下文返回字符串或数字。
如果要返回基于TRUE
或FALSE
条件的值,而不是NULL
,则应使用IF函数。
MySQL的IFNULL函数示例
请参见以下IFNULL
函数示例:
示例-1
SELECT IFNULL(1,0); -- returns 1
示例-2
SELECT IFNULL('',1); -- returns ''
示例-3
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
的新表:
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
函数,并向您展示了如何在查询中使用IFNULL
函数。
MySQL ifnull()函数相关推荐
- MYSQL IFNULL函数的使用
IFNULL函数是MYSQL数据库中最重要的函数之一,下面就对该函数的使用方面进行分析,希望对您能够有所帮助. 下文对MYSQL IFNULL函数的使用进行了详细的叙述,供您参考学习,如果您在MYSQ ...
- MySQL IFNULL函数
IFNULL函数 MySQL IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回第一个参数. 否则(第一个参数是null),IFNULL函数返回第二个参数. 两个参数 ...
- 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 ...
最新文章
- 效率达CPU一万倍的神经形态芯片发布后,英特尔引发了多方吐槽
- docker构建镜像 发布镜像
- Oracle 20c 新特性:自动的区域图 - Automatic Zone Maps
- 【BZOJ1854】【codevs3358】游戏,二分图最大匹配
- 京东数科公布11.11一小时战报:白条交易额10秒破亿
- Flask 框架中 上下文基础理念,包括cookie,session存储方法,requset属性,current_app模块和g模块...
- Tcl Tutorial 笔记1 · 输出
- spring boot: 一般注入说明(五) @Component, application event事件为Bean与Bean之间通信提供了支持...
- 札记:android手势识别,MotionEvent
- Oracle修改字段长度
- 德标螺纹规格对照表_常用螺栓的标准和规格表
- Linux安装pyaudio
- rstudio导入txt文件_R语言 | 读写txt、csv、excel文件
- 工业机器人导轨 百度文库_《工业机器人》复习资料
- HTML中<meta>标签的name属性都有哪些——标准元数据名称
- 【ZCMU1919】kirito's 星爆气流斩(多重背包)
- Domino多瑙河EAP3以及Nomad Web 1.0.5
- 大数据分析师高级证书_数据分析师资格证书好考吗_大数据分析师认证
- Java web工程目录结构中src、Libraries、build、WebContent、META-INF、WEB-INF的作用简述
- 前端面试题《CSS》
热门文章
- 4位无符号比较器设计
- 蓝桥杯2015决赛-方格填数-枚举 or dfs
- Divide and Sum CodeForces - 1445D(排列组合+逆元)
- oppo手机html文件,OPPO手机怎么传输数据包括文档和图片,有哪些传输方式
- mysql 5.74安装教程_MySQL安装、基本账户安全(5.0以后版本)
- B-树、B+树、B*树详解
- P2839 [国家集训队]middle(二分 套 主席树)
- #6073. 「2017 山东一轮集训 Day5」距离(树链剖分 + 永久标记主席树)
- Codeforces Round #163 (Div. 2) C. Below the Diagonal 分治
- 常系数齐次线性递推学习笔记