Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào trong MySQL có thể tìm thấy vị trí xuất hiện đầu tiên của một chuỗi con trong một chuỗi?

Hàm LOCATE () trong MySQL giúp bạn có thể tìm thấy vị trí xuất hiện đầu tiên của một chuỗi con trong một chuỗi. Sau đây là cú pháp sử dụng nó -

Cú pháp

LOCATE(Substring, String)

Trong hàm này, Chuỗi con là chuỗi có vị trí xuất hiện cần tìm và chuỗi là chuỗi mà từ đó vị trí xuất hiện của chuỗi con cần được tìm kiếm.

Chúng ta phải chuyển cả hai chuỗi (tức là chuỗi con sẽ được tìm kiếm và chuỗi, từ đó chuỗi con sẽ được tìm kiếm) làm đối số của hàm LOCATE ().

Ví dụ

mysql> Select LOCATE('Good','RAM IS A GOOD BOY')As Result;
+--------+
| Result |
+--------+
|     10 |
+--------+
1 row in set (0.00 sec)

Trong ví dụ trên, kết quả đầu ra là 10 vì sự xuất hiện đầu tiên của chuỗi con 'tốt' bắt đầu từ vị trí thứ 10 trong chuỗi "RAM IS A GOOD BOY".

Tuy nhiên, chúng ta cũng có thể quản lý điểm bắt đầu tìm kiếm với sự trợ giúp của một đối số khác đại diện cho vị trí. Cú pháp của LOCATE () với đối số vị trí sẽ như sau -

LOCATE(Substring, String, position)

Ví dụ

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)

Từ tập kết quả trên, chúng ta có thể thấy sự khác biệt giữa việc sử dụng đối số vị trí. Nếu chúng tôi không sử dụng nó, tìm kiếm theo mặc định bắt đầu từ vị trí đầu tiên và khi chúng tôi chỉ định ‘5’ làm đối số vị trí trong ví dụ của chúng tôi, tìm kiếm bắt đầu từ vị trí thứ 5.