การเตรียมข้อมูล
mysql> CREATE TABLE DemoTable1872 (Name VARCHAR(20));
mysql> INSERT INTO DemoTable1872 VALUES('John Doe'), ('Adam Smith'), ('Mitchell Johnson');
ค้นหาและสร้างคอลัมน์ใหม่ด้วย SUBSTRING + LOCATE
mysql> SELECT Name,
SUBSTRING(Name, LOCATE('John', Name), LENGTH('John')) AS NewName
FROM DemoTable1872
WHERE Name LIKE '%John%';
ผลลัพธ์:
+------------------+---------+
| Name | NewName |
+------------------+---------+
| John Doe | John |
| Mitchell Johnson | John |
+------------------+---------+
การทำงานของฟังก์ชัน
| ฟังก์ชัน | บทบาท |
|---|---|
LOCATE('John', Name) | หาตำแหน่งเริ่มต้นของ 'John' (1-based) |
LENGTH('John') | ความยาวของคำค้นหา (4) |
SUBSTRING(Name, pos, len) | ตัดสตริงจากตำแหน่ง pos ความยาว len |