MySQL IFNULL
简介:在本教程中,您将学习MySQL IFNULL函数,这是一个处理NULL值的非常方便的控制流函数。
MySQL IFNULL函数简介
MySQL IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不为NULL,则返回第一个参数。
否则,IFNULL函数将返回第二个参数。
这两个参数可以是文字值或表达式。
下面说明了IFNULL函数的语法:
IFNULL(expression_1,expression_2);
如果expression_1不为NULL,则IFNULL函数返回expression_1;否则,返回expression_2。
的
IFNULL函数根据使用的上下文返回字符串或数字。
如果要基于NULL以外的TRUE或FALSE条件返回值,则应使用IF函数。
MySQL IFNULL函数示例
请参见以下IFNULL函数示例:
SELECT IFNULL(1,0); -- returns 1
SELECT IFNULL('',1); -- returns ''
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的新表:
CREATE TABLE IF NOT EXISTS contacts ( contactid INT AUTO_INCREMENT PRIMARY KEY, contactname VARCHAR(20) NOT NULL, bizphone VARCHAR(15), homephone VARCHAR(15) );
每个联系人都有一个姓名,公司电话和家庭电话。
其次,将数据插入联系人表:
INSERT INTO contacts(contactname,bizphone,homephone) VALUES('John Doe','(541) 754-3009',NULL), ('Cindy Smith',NULL,'(541) 754-3110'), ('Sue Greenspan','(541) 754-3010','(541) 754-3011'), ('Lily Bush',NULL,'(541) 754-3111');
一些联系人只有家庭电话或公司电话。
要从联系人表中获取所有联系人姓名和电话,请使用以下查询:
SELECT contactName, bizphone, homephone FROM contacts;
如果联络人的商务电话不可用,我们可以拿到联络人的住宅电话,那就太好了。
这是
这是IFNULL函数开始起作用的地方。
如果商务电话为NULL,则IFNULL函数将返回家庭电话。
第三,使用以下查询获取所有联系人的姓名和电话:
SELECT contactname, IFNULL(bizphone, homephone) phone FROM contacts;
请注意,应避免在WHERE子句中使用IFNULL函数,因为它会降低查询的性能。
如果要检查值是否为
如果要检查值是否为NULL,则可以在WHERE子句中使用IS NULL或IS NOT NULL。
在本教程中,我们向您介绍了MySQL IFNULL函数,并向您展示了如何在查询中使用IFNULL函数。