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

ใช้ COALESCE() กับคอลัมน์ตาราง MySQL

COALESCE กับคอลัมน์ (Column Arguments)

ใส่ชื่อคอลัมน์เป็นอาร์กิวเมนต์ ตรวจจากคอลัมน์แรกไปจนกว่าจะเจอ Non-NULL

ข้อมูลตัวอย่าง: ตาราง 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    |
+----+------------+-------------+-----------+

คำสั่ง COALESCE

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

ตรรกะต่อแถว

IdFirst_NameMiddle_NameLast_Nameผลลัพธ์
1AdvikNULLJhambAdvik (First ไม่ NULL)
2RahulKumarSharmaRahul (First ไม่ NULL)
6NULLKumarGauravKumar (First=NULL, Middle=Kumar)
7NULLSinghParmarSingh (First=NULL, Middle=Singh)

ประยุกต์ใช้

  • แสดงชื่อเต็มจากคอลัมน์แยก (First/Middle/Last)
  • Fallback chain: primary contact → secondary → tertiary
  • Default value สำหรับคอลัมน์ที่อาจ NULL