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.