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

วิธีคืนค่า 0 แทน NULL ใน MySQL

การใช้ฟังก์ชัน IFNULL() ใน MySQL

ใน MySQL สามารถแทนค่า NULL ด้วย 0 ได้โดยใช้ฟังก์ชัน IFNULL() ซึ่งมีรูปแบบการใช้งานดังนี้:

IFNULL(นิพจน์ของคุณ, 0);

ตัวอย่างการใช้งาน

เริ่มต้นด้วยการสร้างตารางทดสอบ:

mysql> create table NullDemoWithZero (
    -> id varchar(200)
    -> );
Query OK, 0 rows affected (0.65 sec)

การเพิ่มข้อมูลทดสอบ

mysql> insert into NullDemoWithZero values();
Query OK, 1 row affected (0.16 sec)
mysql> insert into NullDemoWithZero values('123');
Query OK, 1 row affected (0.14 sec)
mysql> insert into NullDemoWithZero values('442');
Query OK, 1 row affected (0.10 sec)
mysql> insert into NullDemoWithZero values('333');
Query OK, 1 row affected (0.13 sec)
mysql> insert into NullDemoWithZero values();
Query OK, 1 row affected (0.15 sec)
mysql> insert into NullDemoWithZero values();
Query OK, 1 row affected (0.17 sec)

แสดงข้อมูลทั้งหมด

mysql> select * from NullDemoWithZero;

ผลลัพธ์จะแสดงค่า NULL หลายแถว:

+------+
| id   |
+------+
| NULL |
| 123  |
| 442  |
| 333  |
| NULL |
| NULL |
+------+
6 rows in set (0.00 sec)

การแปลง NULL เป็น 0

ใช้คำสั่งต่อไปนี้เพื่อคืนค่า 0 เมื่อพบค่า NULL:

select IFNULL(yourColumnName, 0) from yourTableName;

นำไปใช้กับตารางตัวอย่าง:

mysql> select IFNULL(id, 0) from NullDemoWithZero;

ผลลัพธ์

+---------------+
| IFNULL(id, 0) |
+---------------+
| 0             |
| 123           |
| 442           |
| 333           |
| 0             |
| 0             |
+---------------+
6 rows in set (0.00 sec)

สามารถเห็นได้ว่า ค่า NULL ทั้งหมดถูกแทนที่ด้วย 0 เรียบร้อยแล้ว