语法
REGEXP_INSTR(source_char,pattern[,position[,occurrence[,return_o
pt[,match_parameter[,subexpr]]]]])
功能
获得匹配字符串的位置。
用途
返回与pattern 指定的正则表达式相匹配的字符串在源字符串中的位置。
参数详解
表5- 17 参数说明
参数
说明
source_char
源字符串。该参数支持的数据类型与GBase 8a MPP Cluster 的
replace 函数的str 参数一致。
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
739
参数
说明
pattern
正则表达式。仅支持字符串,每个正则表达式最多可包含512
个字节。
position
开始匹配的位置。默认值为1,即从source_char 的第一个字符
开始匹配。
occurrence
正则匹配的序数。是一个正整数,可以是列名,支持数据类型
为整型和能够转换成数字的字符串,转换规则与GBase 8a MPP
Cluster 的insert 函数的pos 参数转换规则一致。
不支持小数,
若
设定为小数,按四舍五入规则处理。默认值为1。
指定为1,则替换第一次匹配到的字符串;
指定为整数n,则替换第n 次匹配到的字符串。
return_opt
指定返回值的类型,是一个非负整数,可以是列名,支持的数
据类型为整型和能够转换成数字的字符串,转换规则与GBase
8a MPP Cluster 系统的insert 函数的pos 参数转换规则一致。不
支持小数,若设定为小数,按四舍五入规则处理。默认值为0。
指定为0,返回值为匹配位置的第一个字符的位置。
指定为n,返回匹配的字符串后紧跟着的第一个字符
的位置。
match_parameter
可通过设置该参数改变默认的匹配功能行为。可以是列名,列
的内容不能超出该参数的值域范围。使用时该参数用单引号包
围,例如:’i’。默认和设置成NULL 情况下“.”不匹配换行符,
源字符串被看作一行。参数可选项如下:
i:大小写不敏感;
c:大小写敏感;
n:点号(.)匹配换行符号;
m:多行模式;
x:扩展模式,忽略正则表达式中的空白字符。
用户同时指定多个互斥参数(i,c)可选项时,系统按照最后出
现的参数处理。
subexpr
对于含有子表达式的正则表达式,表示正则表达式中的第几个
子串是函数目标。subexpr 是正则表达式中圆括号里的字符串片
段,子表达式可嵌套。子表达式按照其左括号出现的顺序编号。
该参数值域范围是0~9,超过9,函数返回0。可以设置成能够
转换成数字的字符串,
转换规则与GBase 8a MPP Cluster的insert
函数的pos 参数转换规则一致。不支持列名。不支持小数,若
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
740
参数
说明
设定为小数,按四舍五入规则处理。默认为0。
指定为0,返回与正则表达式匹配的字符的位置,全匹
配上返回1,不匹配返回0;
指定为大于0,返回指定的子串的位置。该值大于子串
个数时,返回0;
指定为空,函数返回null;
源字符串中有括号时,按照正则支持的转义处理。
使用约束
REGEXP_INSTR 函数的position、occurrence、return_opt、match_parameter、sub
expr 参数都能省略,若上述5 个参数中的任何一个省略,省略参数后的所有参数
都不能设置,若需要设置后续参数则必须给出所设置参数的上一个参数的值。