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

Dùng IFNULL() thay thế COALESCE() khi chỉ có 2 đối số

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 expr2
  • COALESCE(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().