iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >在 MySQL 中使用 SELECT 语句替换空值有哪些不同的方法?
  • 912
分享到

在 MySQL 中使用 SELECT 语句替换空值有哪些不同的方法?

2023-10-22 10:10:27 912人浏览 八月长安
摘要

有很多选项可用于使用 select 语句替换 NULL 值。您可以使用 CASE 语句或 IFNULL() 或 COALESCE()情况 1 - 使用 IFNULL()IFNULL( 的语法)如下 -SELECT IFNULL(y

有很多选项可用于使用 select 语句替换 NULL 值。您可以使用 CASE 语句或 IFNULL() 或 COALESCE()

情况 1 - 使用 IFNULL()

IFNULL( 的语法)如下 -

SELECT IFNULL(yourColumnName,’yourValue’) AS anyVariableName from yourTableName;

情况 2 - 使用 COALESCE()

COALESCE() 的语法如下 -

SELECT COALESCE(yourColumnName,’yourValue’) AS anyVariableName from yourTableName;

情况 3 - 使用 CASE 语句

CASE 语句的语法。

SELECT CASE
WHEN yourColumnName IS NULL THEN ‘yourValue’
ELSE yourColumnName END AS anyVariableName FROM yourTableName

为了理解我们上面讨论的内容,让我们创建一个表格。创建表的查询如下 -

Mysql> create table ReplaceNULLDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(10),
   -> Marks int,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.62 sec)

使用插入命令在表中插入一些记录。查询如下 -

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Larry',90);
Query OK, 1 row affected (0.16 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Carol',NULL);
Query OK, 1 row affected (0.17 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('David',NULL);
Query OK, 1 row affected (0.14 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Bob',67);
Query OK, 1 row affected (0.17 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Sam',78);
Query OK, 1 row affected (0.19 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Mike',NULL);
Query OK, 1 row affected (0.19 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('John',98);
Query OK, 1 row affected (0.16 sec)

使用 select 语句显示表中的所有记录。查询如下 -

mysql> select *from ReplaceNULLDemo;

以下是输出 -

+----+-------+-------+
| Id | Name  | Marks |
+----+-------+-------+
|  1 | Larry |    90 |
|  2 | Carol |  NULL |
|  3 | David |  NULL |
|  4 | Bob   |    67 |
|  5 | Sam   |    78 |
|  6 | Mike  |  NULL |
|  7 | John  |    98 |
+----+-------+-------+
7 rows in set (0.00 sec)

现在让我们将 NULL 值转换为 0。

情况 1 - 使用 IFNULL()

查询如下-

mysql> select ifnull(Marks,0) as ReplacementOfNULLWith0 from ReplaceNULLDemo;

以下是显示 NULL 替换为 0 的输出 -

+------------------------+
| ReplacementOfNULLWith0 |
+------------------------+
|                     90 |
|                      0 |
|                      0 |
|                     67 |
|                     78 |
|                      0 |
|                     98 |
+------------------------+
7 rows in set (0.00 sec)

情况 2 - 使用 COALESCE()

查询如下 -

mysql> select coalesce(Marks,0) as ReplacementOfNULLWith0 from ReplaceNULLDemo;

以下是显示 NULL 替换为 0 的输出 -

+------------------------+
| ReplacementOfNULLWith0 |
+------------------------+
| 90 |
| 0 |
| 0 |
| 67 |
| 78 |
| 0 |
| 98 |
+------------------------+
7 rows in set (0.00 sec)

情况 3 - 使用 CASE 语句。

查询如下 -

mysql> select case
   -> when Marks is null then 0
   -> else Marks end as ReplacementOfNULLWith0
   -> from ReplaceNULLDemo;

以下是显示 NULL 替换为 0 的输出 -

+------------------------+
| ReplacementOfNULLWith0 |
+------------------------+
| 90                     |
| 0                      |
| 0                      |
| 67                     |
| 78                     |
| 0                      |
| 98                     |
+------------------------+
7 rows in set (0.00 sec)
您可能感兴趣的文档:

--结束END--

本文标题: 在 MySQL 中使用 SELECT 语句替换空值有哪些不同的方法?

本文链接: https://www.lsjlt.com/news/436861.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 在 MySQL 中使用 SELECT 语句替换空值有哪些不同的方法?
    有很多选项可用于使用 select 语句替换 NULL 值。您可以使用 CASE 语句或 IFNULL() 或 COALESCE()情况 1 - 使用 IFNULL()IFNULL( 的语法)如下 -SELECT IFNULL(y...
    99+
    2023-10-22
  • 在JS中避免过多的使用IF语句方法有哪些
    本篇内容主要讲解“在JS中避免过多的使用IF语句方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在JS中避免过多的使用IF语句方法有哪些”吧!1. 三元...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作