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

COALESCE สั่งผลลัพธ์ด้วยค่า NULL และ NON-NULL อย่างไร


COALESCE() จะค้นหาค่า NON-NULL ก่อน หากพบค่าเดียวกันในตอนเริ่มต้น ก็จะส่งกลับ มิฉะนั้นให้เลื่อนไปข้างหน้าเพื่อตรวจสอบค่า NON-NULL

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( Number1 int, Number2 int);ตกลง ตกลง 0 แถวได้รับผลกระทบ (5.48 วินาที)

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

mysql> แทรกลงในค่า DemoTable (100,200) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.40 วินาที) mysql> แทรกลงในค่า DemoTable (NULL, 50) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงใน DemoTable ค่า (10, NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable (NULL, NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------+---------+| Number1 | ที่ 2 |+---------+---------+| 100 | 200 || NULL | 50 || 10 | NULL || NULL | NULL |+---------+---------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อสั่งซื้อบันทึกกับ COALESCE -

mysql> เลือกการรวม (Number1,Number2) AS NON_NULL_ARGUMENT_FIRST จาก DemoTable

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------------------------------+| NON_NULL_ARGUMENT_FIRST |+-----------------------------------+| 100 || 50 || 10 || NULL |+-------------------------+4 แถวในชุด (0.00 วินาที)