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

ปรับแต่งค่า NULL ด้วย IF() แสดง 'N/A' แทน

ใช้ IF() แทนที่ NULL ในผลลัพธ์

IF(condition, true_value, false_value)

ข้อมูล Employee (มี NULL Salary)

+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 7  | Aryan  | NULL   |
| 8  | Vinay  | NULL   |
+----+--------+--------+

คำสั่ง IF()

mysql> SELECT ID, Name, IF(Salary IS NULL, 'N/A', Salary) AS 'Salary' FROM employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 7  | Aryan  | N/A    |
| 8  | Vinay  | N/A    |
+----+--------+--------+

การทำงาน

  • Salary IS NULL: เงื่อนไข (TRUE/FALSE)
  • 'N/A': ค่าที่แสดงเมื่อ TRUE (เป็น NULL)
  • Salary: ค่าที่แสดงเมื่อ FALSE (ไม่ใช่ NULL)

ประยุกต์เพิ่มเติม

-- แสดง 0 แทน NULL สำหรับการคำนวณ
SELECT COALESCE(Salary, 0) FROM employee;

-- แสดงข้อความแบบเฉพาะเจาะจง
SELECT IF(Salary IS NULL, 'Not disclosed', CONCAT('฿', Salary)) FROM employee;