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)
第五个是是取值范围: