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

Nhân cột có giá trị NULL trong MySQL với COALESCE

Khi nhân cột chứa NULL, kết quả sẽ là NULL. Dùng COALESCE(cot, gia_tri_mac_dinh) để thay NULL bằng giá trị mặc định (thường là 1 cho phép nhân).

Ví dụ minh họa

Tạo bảng và chèn dữ liệu có NULL:

mysql> CREATE TABLE DemoTable1842 (NumberOfItems INT, Amount INT);
mysql> INSERT INTO DemoTable1842 VALUES(10,40),(20,5),(NULL,10);

Nhân với COALESCE thay NULL bằng 1:

mysql> SELECT NumberOfItems, Amount, COALESCE(NumberOfItems,1)*Amount AS Total FROM DemoTable1842;

Kết quả:

+---------------+--------+-------+
| NumberOfItems | Amount | Total |
+---------------+--------+-------+
|            10 |     40 |   400 |
|            20 |      5 |   100 |
|          NULL |     10 |    10 |
+---------------+--------+-------+

Lưu ý: IFNULL() chỉ nhận 2 đối số, COALESCE() nhận nhiều đối số và trả về giá trị đầu tiên không NULL.