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

เชื่อมสองคอลัมน์เข้าด้วยกันเมื่อค่าคอลัมน์ใดค่าหนึ่งเป็นค่าว่างใน MySQL


เพื่อหลีกเลี่ยงปัญหาใดๆ ขณะเรียกใช้แบบสอบถาม ให้ใช้ IFNULL() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1793 ( StudentFirstName varchar(20), StudentLastName varchar(20) );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

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

mysql> แทรกลงในค่า DemoTable1793 ('John', 'Smith');Query OK, 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1793 ('Carol', NULL); Query OK, 1 แถวได้รับผลกระทบ ( 0.00 วินาที) mysql> แทรกลงในค่า DemoTable1793 (NULL, 'Brown'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที)

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

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

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

<ก่อนหน้า>+---------------------------------------------------+| StudentFirstName | StudentLastName |+-----------------+-----------------+| จอห์น | สมิธ || แครอล | NULL || NULL | สีน้ำตาล |+-------------------+-----------------+3 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่จะเชื่อมสองคอลัมน์เมื่อค่าของคอลัมน์ใดค่าหนึ่งเป็นโมฆะ -

mysql> เลือก concat(ifnull(StudentFirstName,''),ifnull(StudentLastName,'')) จาก DemoTable1793;

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

<ก่อน>+--------------------------------------------- -------------------+| concat(ifnull(StudentFirstName,''),ifnull(StudentLastName,'')) |+------------------------------------ ------------------------------------+| จอห์น สมิธ || แครอล || สีน้ำตาล |+---------------------------------------------------------- -----------------+3 แถวในชุด (0.00 วินาที)