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

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


สำหรับสิ่งนี้ คุณสามารถใช้ IFNULL() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> Value int -> ); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.71 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable(Value) (100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable (ค่า) (140) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable(Value) (200); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.26 วินาที) mysql> แทรกลงในค่า DemoTable (ค่า) (450); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงใน DemoTable (ค่า) ค่า (null); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable (ค่า) (90); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable (ค่า) (null);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

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

ผลลัพธ์

<ก่อนหน้า>+----+-------+| รหัส | ความคุ้มค่า |+---+-------+| 1 | 100 || 2 | 140 || 3 | 200 || 4 | 450 || 5 | NULL || 6 | 90 || 7 | NULL |+---+-------+7 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นการสืบค้นเพื่อตั้งค่า 0 หากการสืบค้นส่งคืนค่า null ใน MySQL

mysql> select ifnull(Value,0) AS Value จาก DemoTable;

ผลลัพธ์

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 100 || 140 || 200 || 450 || 0 || 90 || 0 |+-------+7 แถวในชุด (0.00 วินาที)