วัตถุประสงค์
คืนส่วนของสตริง ก่อน delimiter ครั้งที่ระบุ (นับจากซ้าย) หรือ หลัง delimiter (ถ้า count เป็นลบ)
Syntax
SUBSTRING_INDEX(str, delim, count)
- str: สตริงต้นทาง
- delim: ตัวคั่น (delimiter)
- count: จำนวนครั้งของ delimiter (บวก = นับซ้าย, ลบ = นับขวา)
ตัวอย่าง Count บวก
mysql> SELECT SUBSTRING_INDEX('My Name is Ram', 'a', 2);
+-----------------------------------------+
| SUBSTRING_INDEX('My Name is Ram', 'a', 2) |
+-----------------------------------------+
| My Name is R |
+-----------------------------------------+
mysql> SELECT SUBSTRING_INDEX('My Name is Ram', 'a', 1);
+-----------------------------------------+
| SUBSTRING_INDEX('My Name is Ram', 'a', 1) |
+-----------------------------------------+
| My N |
+-----------------------------------------+
ตัวอย่าง Count ลบ
mysql> SELECT SUBSTRING_INDEX('www.google.com', '.', -1);
+------------------------------------------+
| SUBSTRING_INDEX('www.google.com', '.', -1) |
+------------------------------------------+
| com |
+------------------------------------------+
mysql> SELECT SUBSTRING_INDEX('www.google.com', '.', -2);
+------------------------------------------+
| SUBSTRING_INDEX('www.google.com', '.', -2) |
+------------------------------------------+
| google.com |
+------------------------------------------+
การประยุกต์
- แยกส่วนโดเมน/ซับโดเมนจาก URL
- แยกนามสกุลไฟล์
- แยกส่วนข้อมูลที่คั่นด้วยอักขระเฉพาะ