如何在 MySQL 中将 NULL 设置为 0?


借助 IFNULL() 方法,我们可以在 MySQL 中将 NULL 设置为 0。IFNULL() 的语法如下。

IFNULL(YOUREXPRESSION,0);

我们来看一个例子。首先,我们将创建一个表。

mysql> create table NullDemoWithZero
   -> (
   -> id varchar(200)
   -> );
Query OK, 0 rows affected (0.65 sec)

创建表之后,让我们使用 INSERT 命令在表中插入一些记录。查询如下 -

mysql> insert into NullDemoWithZero values();
Query OK, 1 row affected (0.16 sec)

mysql> insert into NullDemoWithZero values('123');
Query OK, 1 row affected (0.14 sec)

mysql>  insert into NullDemoWithZero values('442');
Query OK, 1 row affected (0.10 sec)

mysql>  insert into NullDemoWithZero values('333');
Query OK, 1 row affected (0.13 sec)

mysql> insert into NullDemoWithZero values();
Query OK, 1 row affected (0.15 sec)

mysql>
mysql> insert into NullDemoWithZero values();
Query OK, 1 row affected (0.17 sec)

借助 SELECT 语句显示所有记录。查询如下。

mysql> select *from NullDemoWithZero;

输出如下

+------+
| id   |
+------+
| NULL |
| 123  |
| 442  |
| 333  |
| NULL |
| NULL |
+------+
6 rows in set (0.00 sec)

查看上述示例输出,有很多 NULL 值。现在,我将编写一个语法,如果表中有 NULL 值,则返回 0。语法如下。

select IFNULL(yourColumnName, 0) from yourTableName;

应用上述语法以在任何行有 NULL 值时获取 0。查询如下。

mysql> select IFNULL(id, 0) from NullDemoWithZero;

输出如下,对每个 NULL 返回 0。

+---------------+
| IFNULL(id, 0) |
+---------------+
| 0             |
| 123           |
| 442           |
| 333           |
| 0             |
| 0             |
+---------------+
6 rows in set (0.00 sec)

更新于: 2019-07-30

18K+ 浏览

开创您的 职业生涯

完成课程后获得认证

开始
广告