การแทนที่ค่า NULL หรือ Empty String ด้วยค่าที่กำหนดเอง (Custom Value)
ใช้ฟังก์ชัน IF() ตรวจสอบเงื่อนไข IS NULL หรือ = '' (Empty String) แล้วคืนค่าที่ต้องการ (เช่น 'Garbage Value') แทน
สร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable (Value VARCHAR(100));
Query OK, 0 rows affected (0.75 sec)
mysql> INSERT INTO DemoTable VALUES('100');
mysql> INSERT INTO DemoTable VALUES('');
mysql> INSERT INTO DemoTable VALUES('200');
mysql> INSERT INTO DemoTable VALUES(NULL);
แสดงข้อมูลทั้งหมด
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+-------+
| Value |
+-------+
| 100 |
| |
| 200 |
| NULL |
+-------+
4 rows in set (0.00 sec)
คำสั่งแทนที่ NULL/Empty ด้วย 'Garbage Value'
mysql> SELECT IF(Value IS NULL OR Value = '', 'Garbage Value', Value) AS Result FROM DemoTable;
ผลลัพธ์:
+---------------+
| Result |
+---------------+
| 100 |
| Garbage Value |
| 200 |
| Garbage Value |
+---------------+
4 rows in set (0.00 sec)
คำอธิบาย
Value IS NULL OR Value = '': ตรวจสอบทั้ง NULL และ Empty StringIF(condition, 'Garbage Value', Value): ถ้าเงื่อนไขจริง ให้ 'Garbage Value' มิฉะนั้นให้ค่าเดิม- แถวที่ 2 (Empty String) และแถวที่ 4 (NULL) ถูกแทนที่
- ฟังก์ชัน
COALESCE(NULLIF(Value, ''), 'Garbage Value')ทำงานได้เหมือนกัน (มาตรฐาน SQL มากกว่า)