一、oracle之regexp_substr()介绍
regexp_substr(string, pattern, position,occurrence, modifier);
参数介绍:
string: 源字符串,需要正则处理的源字符串
pattern: 正则表达式
position: 起始位置,默认为1。表示从第几个字符串开始正则匹配
occurrence: 获取第几个正则匹配的分组值
modifiler: 匹配模式,‘i’不区分大小写,‘c’区分大小写。默认值'c'。非必要参数
例:
regexp_substr(‘111-222-333-444', '[^-]+', 1, 2, 'c') 获取到的是222的值
二、postgresql替换方案
1.oracle的sql
select * from tb_user c where c.column in (select regexp_substr('xxx,ssss,mmm' , '[^,]+', 1, level) from dual connect by regexp_substr('xxx,ssss,mmm', '[^,]+', 1, level) is not NULL)
2.替换方案
select * from tb_user c where c.column = any (string_to_array('xxx,ssss,mmm', ','))
好久没写博客了,记录下。