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

启动你的职业生涯

完成课程获得认证

开始学习
广告