Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để sử dụng hàm IFNULL () thay cho hàm COALESCE () trong MySQL?


Như chúng ta biết rằng hàm IFNULL () sẽ trả về đối số đầu tiên nếu nó không phải là NULL, ngược lại nó trả về đối số thứ hai. Mặt khác, hàm COALESCE () sẽ trả về đối số không phải NULL đầu tiên. Trên thực tế, cả hai hàm IFNULL () và COALESCE () trong MySQL hoạt động như nhau nếu số lượng đối số chỉ là hai. Lý do đằng sau điều này là hàm IFNULL () chỉ chấp nhận hai đối số và ngược lại, hàm COALESCSE () có thể chấp nhận bất kỳ số lượng đối số nào.

Giả sử nếu chúng ta muốn sử dụng hàm IFNULL () tại vị trí của hàm COALESCE () thì số đối số phải là hai. Ví dụ sau sẽ chứng minh điều đó -

mysql> Select IFNULL(NULL, 'Green');
+-----------------------+
| IFNULL(NULL, 'Green') |
+-----------------------+
| Green                 |
+-----------------------+
1 row in set (0.00 sec)

mysql> Select COALESCE(NULL, 'Green');
+-------------------------+
| COALESCE(NULL, 'Green') |
+-------------------------+
| Green                   |
+-------------------------+
1 row in set (0.00 sec)