ใช้ฟังก์ชัน IFNULL หรือ COALESCE() เพื่อแปลง MySQL NULL เป็น 0
ไวยากรณ์มีดังนี้
SELECT IFNULL(yourColumnName,0) AS anyAliasName FROM yourTableName ไวยากรณ์ที่สองมีดังนี้:SELECT COALESCE(yourColumnName,0) AS anyAliasName FROM yourTableName;
ให้เราสร้างตารางก่อน แบบสอบถามในการสร้างตารางมีดังนี้
mysql> สร้างตาราง convertNullToZeroDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20), -> Salary int -> );Query OK, 0 แถวได้รับผลกระทบ (1.28 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert
แบบสอบถามมีดังนี้
mysql> แทรกลงในค่า convertNullToZeroDemo(Name,Salary) ('John',NULL);Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงใน convertNullToZeroDemo(ชื่อ,เงินเดือน) ค่า('Carol',5610);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า convertNullToZeroDemo (ชื่อเงินเดือน) ('Bob', NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงใน convertNullToZeroDemo (ชื่อ, เงินเดือน) values('David',NULL);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select
แบบสอบถามมีดังนี้
mysql> เลือก *จาก convertNullToZeroDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+-------+-------+| รหัส | ชื่อ | เงินเดือน |+----+-------+-------+| 1 | จอห์น | NULL || 2 | แครอล | 5610 || 3 | บ๊อบ | NULL || 4 | เดวิด | NULL |+----+-------+--------+4 แถวในชุด (0.05 วินาที)นี่คือข้อความค้นหาแรกของคุณในการแปลง MySQL NULL เป็น 0
mysql> เลือก IFNULL(Salary,0) เป็น `CONVERT_NULL _TO_0` จาก convertNullToZeroDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+--------------------+| CONVERT_NULL _TO_0 |+--------------------+| 0 || 5610 || 0 || 0 |+--------------------+4 แถวในชุด (0.05 วินาที)นี่คือข้อความค้นหาที่สองของคุณในการแปลง MySQL NULL เป็น 0
mysql> เลือกการรวม (Salary,0) เป็น `CONVERT_NULL _TO_0` จาก convertNullToZeroDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+--------------------+| CONVERT_NULL _TO_0 |+--------------------+| 0 || 5610 || 0 || 0 |+--------------------+4 แถวในชุด (0.00 วินาที)