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

Làm cách nào để tôi có thể chèn giá trị vào một cột tại vị trí của NULL bằng cách sử dụng hàm MySQL COALESCE ()?


Để hiểu điều này, chúng tôi đang sử dụng dữ liệu từ bảng "Nhân viên" có Lương =NULL cho ID =5 và 6, như sau -

mysql> Select * from Employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | NULL   |
| 6  | Mohan  | NULL   |
+----+--------+--------+
6 rows in set (0.00 sec)

Bây giờ, các truy vấn sau sẽ sử dụng hàm COALESCE () cùng với mệnh đề UPDATE và WHERE để đặt các giá trị vào vị trí của NULL.

mysql> Update Employee set Salary = COALESCE(Salary,20000) where Id = 5;
Query OK, 1 row affected (0.09 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> Update Employee set Salary = COALESCE(Salary,30000) where Id = 6;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> Select * from Employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | 20000  |
| 6  | Mohan  | 30000  |
+----+--------+--------+
6 rows in set (0.00 sec)