ฟังก์ชัน MySQL LOCATE() ทำให้เป็นไปได้ที่จะหาตำแหน่งการปรากฏครั้งแรกของสตริงย่อยในสตริง ไวยากรณ์การใช้งาน:
ไวยากรณ์
LOCATE(Substring, String)
ในฟังก์ชันนี้ Substring คือสตริงที่ต้องการหาตำแหน่งการปรากฏ และ String คือสตริงที่จะค้นหาสตริงย่อย ต้องส่งทั้งสองสตริงเป็นอาร์กิวเมนต์ของ LOCATE()
ตัวอย่าง
mysql> SELECT LOCATE('Good', 'RAM IS A GOOD BOY') AS Result;
+--------+
| Result |
+--------+
| 10 |
+--------+
1 row in set (0.00 sec)
ในตัวอย่าง ผลลัพธ์คือ 10 เพราะการปรากฏครั้งแรกของ substring 'good' เริ่มจากตำแหน่งที่ 10 ในสตริง 'RAM IS A GOOD BOY'
เรายังสามารถจัดการจุดเริ่มต้นการค้นหาด้วยอีกอาร์กิวเมนต์หนึ่งแทนตำแหน่ง ไวยากรณ์ของ LOCATE() พร้อมอาร์กิวเมนต์ตำแหน่ง:
LOCATE(Substring, String, position)
ตัวอย่าง
mysql> SELECT LOCATE('Good', 'Good, RAM IS A GOOD BOY') AS Result;
+--------+
| Result |
+--------+
| 1 |
+--------+
1 row in set (0.00 sec)
mysql> SELECT LOCATE('Good', 'Good, RAM IS A GOOD BOY', 5) AS Result;
+--------+
| Result |
+--------+
| 16 |
+--------+
1 row in set (0.00 sec)
จากชุดผลลัพธ์เห็นความแตกต่างของการใช้อาร์กิวเมนต์ตำแหน่ง หากไม่ใช้ ค้นหาจากตำแหน่ง 1 โดยค่าเริ่มต้น เมื่อระบุ '5' เป็นอาร์กิวเมนต์ตำแหน่ง ในตัวอย่าง จะเริ่มจากตำแหน่งที่ 5