เพื่อให้ได้อักขระทั้งหมดก่อนเว้นวรรคใน MySQL คุณสามารถใช้ฟังก์ชัน left() จาก MySQL ไวยากรณ์มีดังนี้ −
select left(yourColumnName,LOCATE(' ',yourColumnName) - 1) เป็น anyVariableName จาก yourTableName;
เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตาราง
แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง AllCharacterBeforeSpace −> ( −> FirstNameAndLastName varchar(200) −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.51 วินาที)
ตอนนี้คุณสามารถแทรกระเบียนบางส่วนในตารางได้
แบบสอบถามเพื่อแทรกระเบียนมีดังนี้ -
mysql> แทรกลงในค่า AllCharacterBeforeSpace ('John Smith'); Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า AllCharacterBeforeSpace ('Carol Taylor'); Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า AllCharacterBeforeSpace ('Maria Garcia'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที) mysql> แทรกลงในค่า AllCharacterBeforeSpace ('James Johnson'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)
ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select
แบบสอบถามมีดังต่อไปนี้ −
mysql> เลือก *จาก AllCharacterBeforeSpace;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----------------------+| FirstNameAndLastName |+----------------------+| จอห์น สมิธ || แครอล เทย์เลอร์ || มาเรีย การ์เซีย || James Johnson |+----------------------+4 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามที่สามารถใช้เพื่อรับอักขระทั้งหมดก่อนเว้นวรรคจากตารางได้
แบบสอบถามมีดังต่อไปนี้ −
mysql> เลือกซ้าย (FirstNameAndLastName,LOCATE(' ',FirstNameAndLastName) - 1) เป็น FirstNameBeforeSpace −> จาก AllCharacterBeforeSpace;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----------------------+| FirstNameBeforeSpace |+----------------------+| จอห์น || แครอล || มาเรีย || James |+----------------------+4 แถวในชุด (0.03 วินาที)แบบสอบถามด้านบนส่งคืนสตริงว่างเมื่อไม่มีช่องว่างในคอลัมน์