Devdit
 

SQL แยกข้อความ ด้วยคำสั่ง SUBSTRING_INDEX

5.3K

สอนเขียนคำสั่ง 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

แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ