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

Kết quả phép tính số học MySQL khi có đối số NULL


MySQL luôn trả về NULL cho mọi phép tính số học có một đối số là NULL.

Ví dụ các phép toán

mysql> Select 10*NULL;
+---------+
| 10*NULL |
+---------+
| NULL    |
+---------+

mysql> Select 10+NULL;
+---------+
| 10+NULL |
+---------+
| NULL    |
+---------+

mysql> Select 10-NULL;
+---------+
| 10-NULL |
+---------+
| NULL    |
+---------+

mysql> Select 10/NULL;
+---------+
| 10/NULL |
+---------+
| NULL    |
+---------+

Tất cả: nhân, cộng, trừ, chia, modulo với NULL cho NULL. Đây là logic 3 giá trị (three-valued logic) chuẩn SQL.

Giải pháp: Dùng COALESCE(col, 0) hoặc IFNULL(col, 0) thay NULL bằng 0 trước khi tính.