如果查詢返回 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;
輸出
+----+-------+ | 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)