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
中找不到 substr
,LOCATE()
函数将返回 0
。
- 如果
startPos
为0
,LOCATE()
函数将返回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
。