跳到主要内容

POSITION

描述

POSITION 函数用于查找子字符串在字符串中的位置(从 1 开始计数)。如果指定第 3 个参数 pos,则从 str 以 pos 下标开始的字符串处开始查找 substr 出现的位置。如果没有找到,返回 0

语法

POSITION ( <substr> IN <str> )

POSITION ( <substr>, <str> [, <pos>] )

参数

参数说明
substr需要查找的子字符串
str需要被查找的字符串
pos如果指定了此参数,则 str 以 pos 下标开始的字符串处开始查找 substr 出现的位置

返回值

substr 在 str 中出现的位置(从 1 开始计数)。如果没有找到,返回 0

举例

SELECT POSITION('bar' IN 'foobarbar'), 
POSITION('bar', 'foobarbar'),
POSITION('bar', 'foobarbar', 5),
POSITION('xbar', 'foobar');
+----------------------------------+--------------------------------+-----------------------------------+----------------------------------+
| position('bar' in 'foobarbar') | position('bar', 'foobarbar') | position('bar', 'foobarbar', 5) | position('xbar', 'foobar') |
+----------------------------------+--------------------------------+-----------------------------------+----------------------------------+
| 4 | 4 | 7 | 0 |
+----------------------------------+--------------------------------+-----------------------------------+----------------------------------+