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

ตั้งค่าเริ่มต้นสำหรับค่า NULL หรือ Empty String ใน MySQL ด้วย IF()

การแทนที่ค่า 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 String
  • IF(condition, 'Garbage Value', Value) : ถ้าเงื่อนไขจริง ให้ 'Garbage Value' มิฉะนั้นให้ค่าเดิม
  • แถวที่ 2 (Empty String) และแถวที่ 4 (NULL) ถูกแทนที่
  • ฟังก์ชัน COALESCE(NULLIF(Value, ''), 'Garbage Value') ทำงานได้เหมือนกัน (มาตรฐาน SQL มากกว่า)