Nested SUBSTRING_INDEX
ดึงส่วนที่อยู่ ระหว่าง delimiter ตัวที่ 1 และ 2 (นับจากซ้าย)
ตัวอย่าง: ดึง 'tutorialspoint' จาก 'www.tutorialspoint.com'
mysql> SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('www.tutorialspoint.com', '.', 2), '.', -1)
AS 'Nested SUBSTRING_INDEX';
+------------------------+
| Nested SUBSTRING_INDEX |
+------------------------+
| tutorialspoint |
+------------------------+
การทำงานทีละขั้น
SUBSTRING_INDEX('www.tutorialspoint.com', '.', 2)→'www.tutorialspoint'(ส่วนก่อน '.' ตัวที่ 2)SUBSTRING_INDEX('www.tutorialspoint', '.', -1)→'tutorialspoint'(ส่วนหลัง '.' ตัวสุดท้าย)
สูตรทั่วไป
-- ระหว่าง delimiter ตัวที่ N และ N+1
SUBSTRING_INDEX(SUBSTRING_INDEX(str, delim, N+1), delim, -1)
ประยุกต์ใช้
- แยกโดเมนจาก URL
- แยกค่าระหว่าง comma ใน CSV
- Parse path ไฟล์