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

Typecasting NULL เป็น 0 ใน MySQL


คุณสามารถพิมพ์ค่า NULL เป็น 0 โดยใช้ฟังก์ชัน IFNULL() ไวยากรณ์มีดังนี้ −

เลือก ifnull(yourColumnName) เป็น anyVariableName จาก yourTableName;

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง TypecastDemo −> ( −> AccountNumber int −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.84 วินาที)

ให้เราแทรกบางระเบียนที่มีค่า NULL แบบสอบถามเพื่อแทรกระเบียนมีดังนี้ -

mysql> แทรกลงในค่า TypecastDemo (NULL) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า TypecastDemo (1234); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า TypecastDemo ( 9876); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า TypecastDemo (6666); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า TypecastDemo (NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.27 วินาที) mysql> แทรกลงในค่า TypecastDemo (NULL) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.36 วินาที) mysql> แทรกลงในค่า TypecastDemo (3214); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.34 วินาที)

ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก TypecastDemo;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+--------------+| เลขที่บัญชี |+--------------+| NULL || 1234 || 9876 || 6666 || NULL || NULL || 3214 | +---------------+7 แถวในชุด (0.00 วินาที)

ใช้ไวยากรณ์ที่เราเห็นด้านบนเพื่อพิมพ์ค่า NULL เป็น 0 แบบสอบถามมีดังนี้ -

mysql> เลือก ifnull(AccountNumber,0) เป็น TypeCastNullToZero จาก TypecastDemo;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+--------------------+| TypeCastNullToZero |+--------------------+| 0 || 1234 || 9876 || 6666 || 0 || 0 || 3214 |+--------------------+7 แถวในชุด (0.00 วินาที)

สมมติว่าคุณต้องการมากกว่าหนึ่งคอลัมน์ จากนั้นคุณสามารถใช้ COALESCE ได้