MySQL 如何设置查询返回空值时为0?
你可以使用IFNULL()函数完成此操作。首先,让我们创建一个表 –
mysql> create table DemoTable
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Value int
-> );
Query OK, 0 rows affected (0.71 sec)
使用INSERT命令向表中插入一些记录 –
mysql> insert into DemoTable(Value) values(100);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(Value) values(140);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(Value) values(200);
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable(Value) values(450);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(Value) values(null);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(Value) values(90);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable(Value) values(null);
Query OK, 1 row affected (0.10 sec)
使用SELECT语句显示表中的所有记录 –
mysql> select *from DemoTable;
阅读更多:MySQL 教程
输出
+----+-------+
| Id | Value |
+----+-------+
| 1 | 100 |
| 2 | 140 |
| 3 | 200 |
| 4 | 450 |
| 5 | NULL |
| 6 | 90 |
| 7 | NULL |
+----+-------+
7 rows in set (0.00 sec)
下面是在MySQL中查询返回空值时设置值为0的查询语句。
mysql> select ifnull(Value,0) AS Value from DemoTable;
输出
+-------+
| Value |
+-------+
| 100 |
| 140 |
| 200 |
| 450 |
| 0 |
| 90 |
| 0 |
+-------+
7 rows in set (0.00 sec)
极客教程