Trong MySQL, bạn có thể trả về 0 cho các giá trị NULL bằng hàm IFNULL(). Cú pháp như sau:
IFNULL(BIỀU_THỨC_CỦA_BẠN, 0);
Dưới đây là ví dụ minh họa. Trước tiên, tạo một bảng:
mysql> CREATE TABLE NullDemoWithZero (
-> id VARCHAR(200)
-> ); Query OK, 0 rows affected (0.65 sec)
Chèn một số bản ghi vào bảng:
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> INSERT INTO NullDemoWithZero VALUES();
Query OK, 1 row affected (0.17 sec)
Hiển thị tất cả bản ghi:
mysql> SELECT * FROM NullDemoWithZero;
Kết quả:
+------+ | id | +------+ | NULL | | 123 | | 442 | | 333 | | NULL | | NULL | +------+ 6 rows in set (0.00 sec)
Để trả về 0 cho mọi giá trị NULL, sử dụng cú pháp:
SELECT IFNULL(tên_cột, 0) FROM tên_bảng;
Áp dụng cho ví dụ:
mysql> SELECT IFNULL(id, 0) FROM NullDemoWithZero;
Kết quả trả về 0 cho các NULL:
+---------------+ | IFNULL(id, 0) | +---------------+ | 0 | | 123 | | 442 | | 333 | | 0 | | 0 | +---------------+ 6 rows in set (0.00 sec)