COALESCE() คืนค่า Non-NULL แรก
เทียบเท่ากับโครงสร้าง IF-THEN-ELSE ต่อเนื่อง
IF-THEN-ELSE เทียบเท่า
IF value1 IS NOT NULL THEN output = value1;
ELSIF value2 IS NOT NULL THEN output = value2;
ELSIF value3 IS NOT NULL THEN output = value3;
...
ELSIF valueN IS NOT NULL THEN output = valueN;
ELSE output = NULL;
END IF;
ตัวอย่าง COALESCE
mysql> SELECT COALESCE(NULL, NULL, NULL, 'Ram', 'Aarav', NULL);
+--------------------------------------------------+
| COALESCE(NULL, NULL, NULL, 'Ram', 'Aarav', NULL) |
+--------------------------------------------------+
| Ram |
+--------------------------------------------------+
การทำงาน
- ตรวจ value1 = NULL → ข้าม
- ตรวจ value2 = NULL → ข้าม
- ตรวจ value3 = NULL → ข้าม
- ตรวจ value4 = 'Ram' → ไม่ใช่ NULL คืน 'Ram' ทันที
- ไม่ตรวจ value5, value6 แล้ว
ประโยชน์
- เขียนสั้นกว่า CASE/IF หลายบรรทัด
- อ่านง่าย สำหรับ Default value / Fallback
- รองรับอาร์กิวเมนต์ไม่จำกัดจำนวน