将字符串变为结果集

将字符串变为结果集
我们需要使用REGEXP_SUBSTR和REGEXP_COUNT两个ORACLE函数

function REGEXP_SUBSTR(string, pattern, position, occurrence, modifier)
string:需要进行正则处理的字符串
pattern:进行匹配的正则表达式
position:起始位置,从第几个字符开始正则表达式匹配(默认为1)
occurrence:标识第几个匹配组,默认为1
modifier:模式(‘i’不区分大小写进行检索;‘c’区分大小写进行检索。默认为’c’)

function REGEXP_COUNT ( string, pattern [, position [, match_param]])
返回pattern 在string串中出现的次数。如果未找到匹配,则函数返回0。position 变量告诉Oracle 在源串的什么位置开始搜索。在开始位置之后每出现一次模式,都会使计数结果增加1。

SELECT REGEXP_SUBSTR(‘upbid,bidname,channel,updid,depname,psnname,rankid,rankname,sale’, ‘[^,]+’, 1, LEVEL) VALUE
FROM DUAL
CONNECT BY LEVEL <= REGEXP_COUNT(‘upbid,bidname,channel,updid,depname,psnname, rankid,rankname,sale’, ‘[^,]+’)

分割后结果如下:
在这里插入图片描述

发布了37 篇原创文章 · 获赞 2 · 访问量 3211

猜你喜欢

转载自blog.csdn.net/paocai_2019/article/details/104272630