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

Áp dụng COALESCE() trên dữ liệu cột bảng MySQL

Truyền tên cột làm đối số COALESCE(). Hàm kiểm tra lần lượt: cột 1 → cột 2 → ... cho đến khi tìm thấy non-NULL.

Dữ liệu mẫu: Bảng employee

mysql> SELECT * FROM employee;
+----+------------+-------------+-----------+
| Id | First_Name | Middle_Name | Last_Name |
+----+------------+-------------+-----------+
| 1  | Advik      | NULL        | Jhamb     |
| 2  | Rahul      | Kumar       | Sharma    |
| 3  | Raman      | Singh       | Rajput    |
| 4  | Krishan    | Kumar       | Khurana   |
| 5  | Sachin     | Ramesh      | Tendulkar |
| 6  | NULL       | Kumar       | Gaurav    |
| 7  | NULL       | Singh       | Parmar    |
+----+------------+-------------+-----------+

Truy vấn: Lấy tên ưu tiên First → Middle → Last

mysql> SELECT COALESCE(First_Name, Middle_Name, Last_Name) AS Name FROM employee;
+---------+
| Name    |
+---------+
| Advik   |
| Rahul   |
| Raman   |
| Krishan |
| Sachin  |
| Kumar   |
| Singh   |
+---------+

Giải thích:

  • Hàng 1: First_Name='Advik' → trả 'Advik'
  • Hàng 6: First_Name=NULL → kiểm tra Middle_Name='Kumar' → trả 'Kumar'
  • Hàng 7: First_Name=NULL, Middle_Name='Singh' → trả 'Singh'
  • Nếu cả 3 NULL → trả NULL