首页 MySQL LOCATE() 函数

MySQL LOCATE() 函数

MySQL LOCATE() 函数返回一个字符串在另一个字符串中第一次出现的位置的数字索引。 LOCATE() 函数是不区分大小写的。 LOCATE() 函数与具有两个参数的 INSTR() 函数的和 POSITION() 功能相同。

LOCATE() 语法

这里是 MySQL LOCATE() 函数的语法:

LOCATE(substr, str)

或者

LOCATE(substr, str, startPos)

参数

substr
必需的。 在 str 中搜索的子串。
str
必需的。 被搜索的字符串。
startPos
可选的。 在 str 中开始搜索的位置,从 1 开始。

返回值

LOCATE() 函数返回子字符串 substr 在字符串 str 中的位置的数字索引。数字索引从 1 开始。如果在 str 中找不到 substrLOCATE() 函数将返回 0

  • 如果 startPos0LOCATE() 函数将返回 0
  • 当任意一个参数为 NULL 时, LOCATE() 函数将返回 NULL

LOCATE() 示例

这里列出了几个常见的 LOCATE() 示例。

SELECT
    LOCATE('He', 'Hello World'),
    LOCATE('he', 'Hello World'),
    LOCATE('wo', 'Hello World'),
    LOCATE('go', 'Hello World'),
    LOCATE(NULL, 'Hello World'),
    LOCATE('l', 'Hello World'),
    LOCATE('l', 'Hello World', 0),
    LOCATE('l', 'Hello World', 1),
    LOCATE('l', 'Hello World', 6)\G
*************************** 1. row ***************************
  LOCATE('He', 'Hello World'): 1
  LOCATE('he', 'Hello World'): 1
  LOCATE('wo', 'Hello World'): 7
  LOCATE('go', 'Hello World'): 0
  LOCATE(NULL, 'Hello World'): NULL
   LOCATE('l', 'Hello World'): 3
LOCATE('l', 'Hello World', 0): 0
LOCATE('l', 'Hello World', 1): 3
LOCATE('l', 'Hello World', 6): 10

这里,请注意 LOCATE('l', 'Hello World', 0) 的返回值为 0

特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。