เราสามารถคืนค่า 0 สำหรับ NULL ใน MySQL โดยใช้เมธอด IFNULL() ไวยากรณ์ของ IFNULL() มีดังนี้
IFNULL(YOUREXPRESSION,0);
เรามาดูตัวอย่างกัน ขั้นแรกเราจะสร้างตาราง
mysql> สร้างตาราง NullDemoWithZero -> ( -> id varchar(200) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.65 วินาที)
หลังจากสร้างตารางแล้ว ให้เราแทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง INSERT แบบสอบถามมีดังต่อไปนี้ −
mysql> แทรกลงในค่า NullDemoWithZero (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า NullDemoWithZero ('123'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า NullDemoWithZero ('442');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> แทรกลงในค่า NullDemoWithZero ('333'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า NullDemoWithZero (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql>mysql> แทรกลงในค่า NullDemoWithZero (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)
แสดงระเบียนทั้งหมดโดยใช้คำสั่ง SELECT แบบสอบถามมีดังนี้
mysql> เลือก *จาก NullDemoWithZero;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+------+| id |+------+| NULL || 123 || 442 || 333 || NULL || NULL |+------+6 แถวในชุด (0.00 วินาที)ดูผลลัพธ์ตัวอย่างด้านบน มีค่า NULL มากมาย ตอนนี้ ฉันจะเขียนไวยากรณ์ที่คืนค่า 0 หากมีค่า NULL ในตาราง ต่อไปนี้เป็นรูปแบบไวยากรณ์
เลือก IFNULL(yourColumnName, 0) จาก yourTableName;
ใช้ไวยากรณ์ด้านบนเพื่อรับ 0 หากแถวใดมีค่าเป็น NULL แบบสอบถามมีดังนี้
mysql> เลือก IFNULL(id, 0) จาก NullDemoWithZero;
ต่อไปนี้เป็นผลลัพธ์ที่คืนค่า 0 สำหรับทุกค่า NULL
<ก่อนหน้า>+--------------+| IFNULL(id, 0) |+--------------+| 0 || 123 || 442 || 333 || 0 || 0 |+---------------------+6 แถวในชุด (0.00 วินาที)