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

ฉันจะคืนค่า 0 สำหรับ NULL ใน MySQL ได้อย่างไร


เราสามารถคืนค่า 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 วินาที)