MySQL POSITION() 函数

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

POSITION() 语法

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

POSITION(substr IN str)

注意,这里有个 IN 关键字,这与 LOCATE(substr, str)INSTR(str, substr) 不同。

参数

substr
必需的。 在 str 中搜索的子串。
str
必需的。 被搜索的字符串。

返回值

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

当任意一个参数为 NULL 时, POSITION() 函数将返回 NULL

POSITION() 示例

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

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