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

Thay thế giá trị NULL bằng 0 trong kết quả truy vấn MySQL

Hàm IFNULL(expr, alt) trả về expr nếu không phải NULL, ngược lại trả về alt. Đây là cách đơn giản nhất để hiển thị 0 thay vì NULL.

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Value INT
);

Chèn dữ liệu (có NULL):

mysql> INSERT INTO DemoTable(Value) VALUES(100);
mysql> INSERT INTO DemoTable(Value) VALUES(140);
mysql> INSERT INTO DemoTable(Value) VALUES(200);
mysql> INSERT INTO DemoTable(Value) VALUES(450);
mysql> INSERT INTO DemoTable(Value) VALUES(NULL);
mysql> INSERT INTO DemoTable(Value) VALUES(90);
mysql> INSERT INTO DemoTable(Value) VALUES(NULL);

Xem dữ liệu gốc:

mysql> SELECT * FROM DemoTable;

Kết quả

+----+-------+
| Id | Value |
+----+-------+
| 1  | 100   |
| 2  | 140   |
| 3  | 200   |
| 4  | 450   |
| 5  | NULL  |
| 6  | 90    |
| 7  | NULL  |
+----+-------+

Truy vấn thay NULL bằng 0:

mysql> SELECT IFNULL(Value, 0) AS Value FROM DemoTable;

Kết quả

+-------+
| Value |
+-------+
| 100   |
| 140   |
| 200   |
| 450   |
| 0     |
| 90    |
| 0     |
+-------+

Tương tự: COALESCE(Value, 0) (chuẩn SQL, hỗ trợ nhiều tham số). IFNULL chỉ dành cho MySQL.