มีโจทย์อยู่ว่า Field หนึ่งเก็บทั้งชื่อและนามสกุล แต่เราต้องการ Query มาเพื่อที่จะแสดงแยกชื่อและนามสกุลออกมาอย่างละ Column หรือดึงมาเฉพาะชื่อเท่านั้น
สิ่งที่แยกชื่อกับนามสกุลก็คือ ช่องว่าง ระหว่างชื่อและนามสกุลนั่นเอง
เราจะใช้ String Function ที่ชื่อว่า:
SUBSTRING_INDEX(ชื่อฟิลด์, ตัวแบ่งเขตข้อมูล, จำนวน)
ตัวอย่าง: แสดงเฉพาะชื่อ
SELECT SUBSTRING_INDEX(FullName, ' ', 1) AS Fname
FROM tb_member
ตัวอย่าง: แยกชื่อและนามสกุล
SELECT
SUBSTRING_INDEX(FullName, ' ', 1) AS Fname,
SUBSTRING_INDEX(FullName, ' ', -1) AS Lname
FROM tb_member
1— ดึงส่วนแรกก่อนตัวคั่น (ชื่อ)-1— ดึงส่วนสุดท้ายหลังตัวคั่น (นามสกุล)