IFNULL() và COALESCE() tương đương khi chỉ có 2 đối số.
Sự khác biệt
IFNULL(expr1, expr2): Chỉ nhận 2 đối số. Trả về expr1 nếu không NULL, ngược lại expr2COALESCE(val1, val2, ...): Nhận bất kỳ số lượng đối số. Trả về giá trị non-NULL đầu tiên
Ví dụ tương đương
mysql> SELECT IFNULL(NULL, 'Green'); +-----------------------+ | IFNULL(NULL, 'Green') | +-----------------------+ | Green | +-----------------------+ mysql> SELECT COALESCE(NULL, 'Green'); +-------------------------+ | COALESCE(NULL, 'Green') | +-------------------------+ | Green | +-------------------------+
Kết luận: Chỉ dùng IFNULL() thay COALESCE() khi đúng 2 đối số. Nhiều hơn 2 đối số phải dùng COALESCE().