如何在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)

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

更新於:2020年2月4日

瀏覽量:356

啟動你的職業生涯

完成課程獲得認證

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