更新时间:2026-07-08 GMT+08:00
分享

regexp_instr1

计算字符串source从start_position开始,与pattern第occurrence次匹配的子串的起始或结束位置。

命令格式

regexp_instr1(string <source>, string <pattern>[, bigint <start_position>[, bigint <occurrence>[, bigint <return_option>]]]) 

参数说明

参数

是否必选

参数类型

说明

source

STRING

源字符串。

pattern

STRING

正则表达式。待匹配的模型。pattern为空串时返回报错。

start_position

BIGINT

搜索的开始位置。不指定时默认值为1。

occurrence

BIGINT

指定匹配次数。不指定时默认值为1,表示搜索第一次出现的位置。

return_option

BIGINT

指定返回的位置类型。值为0或1,不指定时默认值为0。0表示返回匹配的开始位置,1表示返回匹配的结束位置。

返回值说明

返回BIGINT类型的值。return_option指定匹配的子串在source中的开始或结束位置。

  • 如果pattern为空串,返回报错。
  • start_position或occurrence非BIGINT类型或小于等于0时,返回报错。
  • source、pattern、start_position、occurrence或return_option值为NULL时,返回NULL。

示例代码

返回6。

select regexp_instr1('a1b2c3d4', '[0-9]', 3, 2); 

返回NULL。

select regexp_instr1('a1b2c3d4', null, 3, 2);

相关文档