寒冰剑客

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、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', ','))

 

好久没写博客了,记录下。

posted on 2022-06-14 09:05  小相公  阅读(2201)  评论(0编辑  收藏  举报