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

จะใช้ Coalesce ใน MySQL ได้อย่างไร?


สามารถใช้การรวมกันใน MySQL เพื่อคืนค่าแรกที่ไม่ใช่ค่าว่าง หากมีหลายคอลัมน์ และทุกคอลัมน์มีค่า NULL ก็จะคืนค่า NULL มิฉะนั้น จะคืนค่าก่อนที่ไม่ใช่ค่า null

ไวยากรณ์มีดังนี้

เลือก COALESCE(yourColumnName1,yourColumnName2,yourColumnName3,.......N) asanyVariableName จาก yourTableName;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง CoalesceDemo-> (-> Id int,-> Name varchar(100),-> Age int,-> Address varchar(100)-> );Query OK, 0 แถวได้รับผลกระทบ (0.57 วินาที) 

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

mysql> แทรกลงในค่า CoalesceDemo (1, NULL, NULL, NULL); ตกลง, 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า CoalesceDemo (NULL, 'Mike', NULL, NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า CoalesceDemo (NULL, NULL, 23, NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า CoalesceDemo (NULL, NULL, NULL, 'UK');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า CoalesceDemo (NULL, NULL, NULL, NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)

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

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

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

<ก่อนหน้า>+------+------+------+---------+| รหัส | ชื่อ | อายุ | ที่อยู่ |+------+------+------+---------+| 1 | NULL | NULL | NULL || NULL | ไมค์ | NULL | NULL || NULL | NULL | 23 | NULL || NULL | NULL | NULL | สหราชอาณาจักร || NULL | NULL | NULL | NULL |+------+------+------+---------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้คือกรณีทั้งหมดที่คุณสามารถคืนค่า NOT NULL แรกได้ แบบสอบถามมีดังนี้

mysql> เลือก Coalesce (Id, Name, Age, Address) เป็น FirstNotNullValue จาก CoalesceDemo;

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

<ก่อนหน้า>+-------------------+| FirstNotNullValue |+-------------------+| 1 || ไมค์ || 23 || สหราชอาณาจักร || NULL |+-------------------+5 แถวในชุด (0.00 วินาที)