如何在MySQL中查詢子字串在一個字串中第一次出現的 位置?


MySQL LOCATE() 函式可以查詢子字串在一個字串中第一次出現的位置。以下是使用方法的語法:

語法

LOCATE(Substring, String)

在這個函式中,Substring 是需要查詢其出現位置的字串,而 string 是需要從中搜索 Substring 出現的字串。

我們必須將兩個字串(即要搜尋的子字串和從中搜索子字串的字串)作為 LOCATE() 函式的引數傳遞。

示例

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

在上面的示例中,輸出為 10,因為子字串“good”在字串“RAM IS A GOOD BOY”中第一次出現的位置是從第 10 個位置開始。

但是,我們也可以使用另一個表示位置的引數來管理搜尋的起點。帶有位置引數的 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)

從上面的結果集中,我們可以看到使用位置引數的區別。如果我們不使用它,搜尋預設從第一個位置開始;當我們在示例中將“5”指定為位置引數時,它從第五個位置開始。

更新於:2020年2月4日

瀏覽量:356

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.