Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เราจะใช้ฟังก์ชัน COALESCE () กับค่าข้อมูลของตาราง MySQL ได้อย่างไร


หากเราต้องการใช้ฟังก์ชัน COALESCE() กับค่าข้อมูลของตาราง MySQL เราจำเป็นต้องใช้ชื่อคอลัมน์เป็นอาร์กิวเมนต์ของฟังก์ชันนี้ หากมีค่า NULL ในคอลัมน์แรก มันจะตรวจสอบคอลัมน์ถัดไปและไปเรื่อยๆ จนกว่าจะได้รับค่าที่ไม่ใช่ NULL เราใช้ข้อมูลจากตาราง 'พนักงาน' ดังต่อไปนี้ เพื่อแสดงแนวคิดข้างต้น -

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    |
+----+------------+-------------+-----------+
7 rows in set (0.00 sec)

mysql> Select COALESCE(First_Name, Middle_Name,Last_Name)AS Name FROM Employee;
+---------+
| Name    |
+---------+
| Advik   |
| Rahul   |
| Raman   |
| Krishan |
| Sachin  |
| Kumar   |
| Singh   |
+---------+
7 rows in set (0.03 sec)

ในตัวอย่างข้างต้น มีอาร์กิวเมนต์อยู่สามอาร์กิวเมนต์สำหรับฟังก์ชัน COALESCE() และเหนือเคียวรีจะคืนค่าชื่อจาก First_Name, Middle_Name และ Last_Name และคืนค่าของ Middle_Name หาก First_Name มี NULL เช่นเดียวกันสำหรับ Last_Name จะคืนค่า Last_Name หาก First_Name และ Middle_Name มี NULL คืนค่า NULL ถ้าทั้ง First_Name, Middle_Name และ Last_Name เป็น NULL