Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách trả về 0 thay vì NULL trong MySQL

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)