如何在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”指定为位置参数时,它从第五个位置开始。
广告