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

จะแยกสตริงใน MySQL โดยใช้ SUBSTRING_INDEX ได้อย่างไร


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

mysql> สร้างตาราง DemoTable1465 -> ( -> Name varchar(40) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.54 วินาที)

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

mysql> แทรกลงในค่า DemoTable1465 ('Chris Brown') แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable1465 ('David Miller'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.26 วินาที) mysql> แทรกลงในค่า DemoTable1465 ('John Doe'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)

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

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

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

<ก่อนหน้า>+-------------+| ชื่อ |+-------------+| คริส บราวน์ || เดวิด มิลเลอร์ || John Doe |+-------------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแยกสตริงใน MySQL โดยใช้ SUBSTRING_INDEX() เราจะแยกสตริงชื่อและนามสกุล -

mysql> เลือก -> substring_index(substring_index(Name, ' ', 1), ' ', -1) as StudentFirstName, -> substring_index(substring_index(Name, ' ', 3), ' ', -1) AS StudentLastName -> จาก DemoTable1465;

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

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