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

แปลง MySQL null เป็น 0 หรือไม่


ใช้ฟังก์ชัน 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 วินาที)