如何在 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)