美文网首页
936. 【mysql】locate函数

936. 【mysql】locate函数

作者: 七镜 | 来源:发表于2024-02-07 22:36 被阅读0次

在 MySQL 中,LOCATE() 函数用于确定一个子串在另一个字符串中的位置。如果找到了子串,则返回其位置的索引(从 1 开始计数)。如果没有找到,则返回 0。

LOCATE() 函数的语法如下:

LOCATE(substr, str[, start])
  • substr:要查找的子串。
  • str:要在其中查找子串的字符串。
  • start(可选):开始搜索的位置。如果省略,则从字符串的开头开始搜索。

示例:

  1. 查找子串 'bar' 在字符串 'foobarbar' 中的位置:
SELECT LOCATE('bar', 'foobarbar');

这将返回 4,因为 'bar''foobarbar' 中首次出现的位置是从索引 4 开始的。

  1. 查找子串 'bar' 在字符串 'foobarbar' 中,从索引 5 开始的位置:
SELECT LOCATE('bar', 'foobarbar', 5);

这将返回 7,因为从索引 5 开始,'bar''foobarbar' 中首次出现的位置是从索引 7 开始的。

注意:LOCATE() 函数对大小写敏感(如果指定的校验规则为:utf8mb4_general_ci,那么locate才对大小写不敏感)。如果你想进行不区分大小写的搜索,可以使用 LOWER()UPPER() 函数将字符串转换为统一的大小写,然后再进行搜索。例如:

SELECT LOCATE('bar', LOWER('FooBarBar'));

这将返回 4,因为 'bar' 在转换为小写的 'foobarbar' 中首次出现的位置是从索引 4 开始的。

相关文章

网友评论

      本文标题:936. 【mysql】locate函数

      本文链接:https://www.haomeiwen.com/subject/lmahadtx.html