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

แบบสอบถาม MySQL เพื่อเลือกทุกอย่างทางด้านซ้ายของช่องว่างสุดท้ายในคอลัมน์ที่มีระเบียนชื่อ


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

mysql> สร้างตาราง DemoTable1939 ( ชื่อเต็ม varchar(20) ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

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

mysql> แทรกลงในค่า DemoTable1939 ('Adam Smith'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1939 ('Robert Downey, Jr.'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.00 sec)mysql> แทรกลงในค่า DemoTable1939 ('Sylvester Stallone'); Query OK, 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1939 ('Chris Hemsworth'); Query OK, 1 แถวได้รับผลกระทบ (0.00 วินาที) 

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

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

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

<ก่อนหน้า>+--------------------+| ชื่อเต็ม |+--------------------+| อดัม สมิธ || โรเบิร์ต ดาวนีย์ จูเนียร์ || ซิลเวสเตอร์ สตอลโลน || Chris Hemsworth |+--------------------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเลือกทุกอย่างทางด้านซ้ายของช่องว่างสุดท้าย

mysql> เลือก LEFT(FullName, LENGTH(FullName) - LOCATE(' ', REVERSE(FullName))+1) จาก DemoTable1939;

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

<ก่อน>+--------------------------------------------- ----------------------------------+| LEFT(ชื่อเต็ม, ความยาว(ชื่อเต็ม) - LOCATE(' ', REVERSE(ชื่อเต็ม))+1) |+-------------------------- --------------------------------------------------+| อดัม || โรเบิร์ต ดาวนีย์ || ซิลเวสเตอร์ || คริส |+--------------------------------------------- ----------------------+4 แถวในชุด (0.00 วินาที)