更新时间:2023-11-03 GMT+08:00

instr

instr函数用于返回substr在str中最早出现的下标。

当参数中出现NULL时,返回NULL,当str中不存在substr时返回0,注意下标从1开始。

相似函数:instr1,instr1函数用于计算子串str2在字符串str1中的位置,instr1函数支持指定起始搜索位置和匹配次数。

命令格式

instr(string <str>, string <substr>)

参数说明

表1 参数说明

参数

是否必选

参数类型

说明

str

STRING

待搜索的目标字符串。

如果输入为BIGINT、DOUBLE、DECIMAL或DATETIME类型,则会隐式转换为STRING类型后参与运算,其他类型会返回报错。

substr

STRING

待匹配的子串。

如果输入为BIGINT、DOUBLE、DECIMAL或DATETIME类型,则会隐式转换为STRING类型后参与运算,其他类型会返回报错。

返回值说明

返回BIGINT类型的值。

  • 如果在str1中未找到str2,则返回0。
  • 如果str2为空串,则总能匹配成功,例如select instr('abc','');会返回1。
  • str1或str2值为NULL时,返回NULL。

示例代码

  • 计算字符b在字符串abc中的位置。命令示例如下。

    返回2。

    select instr('abc', 'b');
  • 任一输入参数为NULL。命令示例如下。

    返回NULL。

    select instr('abc', null)