with t as(
select '网站,短信,广告信息' ad from dual)
select regexp_substr(ad,'[^,]+',1,level) ad --用表达式拆分字符
from t
connect by
level<=length(ad)-length(replace(ad,',',''))+1 --依[,]的个数进行循环
输出:
网站
短信
广告信息
正则表达式函数-REGEXP_SUBSTR :
第一个是输入的字符串
第二个是正则表达式
第三个是标识从第几个字符开始正则表达式匹配。(默认为1)
第四个是标识第几个匹配组。(默认为1)
第五个是是取值范围: