如何在 MySQL 中将 NULL 返回 0?

mysqlmysqli database

我们可以借助 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)

相关文章