สอนเขียนคำสั่ง SQL แยกข้อความ ด้วยคำสั่ง SUBSTRING_INDEX โดยคำสั่งนี้รับค่า arguments 3 ค่า คือ ข้อความ, ตัวคั่น และตัวเลขถ้าเป็นจำนวนเต็มบวกจะดึงข้อมูลก่อนพบตัวคั่น ถ้าเป็นเลขติดลบจะดึงข้อมูลหลังพบตัวคั่น สามารถเขียนคำสั่งได้ดังนี้
ตัวอย่าง ข้อมูลเริ่มต้น ต้องการแยกข้องความ SQL กับ Server ออกจากกัน
+------------+
| name |
+------------+
| SQL Server |
+------------+
ตัวอย่าง SQL แยกข้อความ ด้วยคำสั่ง SUBSTRING_INDEX
SELECT SUBSTRING_INDEX(name, ' ', 1) AS x, SUBSTRING_INDEX(name, ' ', -1) AS y FROM book;
ผลลัพธ์
+------------+------------+
| x | y |
+------------+------------+
| SQL | Server |
+------------+------------+
10 rows in set (0.001 sec)
1. คำสั่ง SUBSTRING_INDEX(name, ' ', 1) AS x คือ แยก column name ด้วยช่องว่าง และดึงค่าก่อนพบตัวคั่น หรือช่องว่าง ได้ผลลัพธ์ คือ SQL
2. คำสั่ง SUBSTRING_INDEX(name, ' ', -1) AS y คือ แยก column name ด้วยช่องว่าง และดึงค่าหลังพบตัวคั่น หรือช่องว่าง ได้ผลลัพธ์ คือ Server