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函数根据使用的上下文返回字符串或数字。

如果要返回基于TRUEFALSE条件的值,而不是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
FROM
    contacts;

执行上面查询语句,得到以下结果 -

+---------------+----------------+----------------+
| 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
FROM
    contacts;

这可以使用IFNULL()函数来解决。如果bizphoneNULL,则IFNULL函数将返回homephone的值。

第三,使用以下查询获取所有联系人的姓名和电话:

mysql> SELECT 
    contactname, IFNULL(bizphone, homephone) phone
FROM
    contacts;
+---------------+----------------+
| 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 NULLIS NOT NULL

在本教程中,我们向您介绍了MySQL IFNULL函数,并向您展示了如何在查询中使用IFNULL函数。

### 关于Cadence 17.2版本中Pspice的教程 #### 安装指南 对于希望安装Cadence PSpice 17.2版本的用户来说,需注意几个关键步骤。当点击安装Cadence软件时,应指定添加安装包路径以及设定不含空格和汉字字符的安装路径[^1]。完成基础软件部署后,还需通过加入Hotfix文件的方式安装必要的更新补丁。最后,在一切设置妥当之后,务必记得重启计算机以使更改生效。 #### 绘制原理图 一旦上述准备工作就绪,则可以在重新启动后的环境中利用OrCAD Capture CIS工具着手绘制所需的电路原理图。此阶段涉及的具体操作包括但不限于元件的选择、放置及其间的连接构建等动作。 #### 创建自定义电路模块 针对那些想要进一步定制化工作流或者提高效率的技术人员而言,掌握如何基于个人需求创建专属的电路组件显得尤为重要。在Cadence PSpice环境下,这意呸着能够把一系列预设好的子电路打包成独立单元以便重复调用或分享给团队成员。具体实现过程涵盖了从草稿构思到最后成品导出的一系列环节[^2]。 #### 设计流程概览 在整个电子设计自动化领域里,由概念验证直至最终产品成型往往遵循一套既定的工作模式。对于采用Cadence平台开展工作的工程师们来讲,这套方法论通常始于案例研究进而过渡至详尽的设计实施;期间会经历诸如原理图表绘、错误检测修正、性能测试评估等多个重要节点直到所有目标达成为止[^3]。 #### 原理图设计概述 深入探讨一下项目结构的话就会发现,“Design Resources”部分主要负责存储整个项目的配置信息。“Outputs”则用于汇总各类中间产物或是终期报告文档。“Referenced Projects”允许设计师轻松关联其他辅助性的外部资料库从而促进跨部门协作交流活动顺利展开。值得注意的是如果当前任务涉及到仿真的话那么这里还会额外显示出专门用来支持此类作业的相关条目——即所谓的“PSpice Resources”。 ```python # Python代码示例仅作为装饰用途,并不实际参与解释说明逻辑 def example_function(): pass ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值