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

เป็นไปได้ไหมที่จะลบทุกอย่างหลังจาก 'เว้นวรรค' ในฟิลด์ MySQL?


หากต้องการลบทุกอย่างหลังเว้นวรรค คุณต้องใช้ SUBSTRING_INDEX()

ไวยากรณ์มีดังนี้

select substring_index(yourColumnName,' ',1) เป็น anyAliasName จาก yourTableName;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง deleteAfterSpaceDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.55 วินาที)

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

แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า deleteAfterSpaceDemo(StudentName) ('John Smith'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า deleteAfterSpaceDemo (StudentName) ('Adam Smith'); ตกลง 1 แถว ได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า deleteAfterSpaceDemo (StudentName) ('Carol Taylor'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า deleteAfterSpaceDemo (StudentName) ('Chris Brown'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า deleteAfterSpaceDemo(StudentName) ('David Miller'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)

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

แบบสอบถามมีดังนี้

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

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+--------------+| รหัส | ชื่อนักเรียน |+----+-------------+| 1 | จอห์น สมิธ || 2 | อดัม สมิธ || 3 | แครอล เทย์เลอร์ || 4 | คริส บราวน์ || 5 | David Miller |+----+------------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อลบทุกอย่างหลังจากเว้นวรรค

mysql> เลือก substring_index(StudentName,' ',1) เป็น deleteAllAfterSpace จาก deleteAfterSpaceDemo;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+---------------------+| deleteAllAfterSpace |+---------------------+| จอห์น || อดัม || แครอล || คริส || David |+---------------------+5 แถวในชุด (0.04 วินาที)