1.SELECT regexp_substr('1,2,12,13','[^,]+',1,3) FROM dual;
字符:^ --匹配行首
字符:+ --匹配一次或多次
REGEXP_SUBSTR(source_string, --需要进行正则处理的字符串
pattern, --进行匹配的正则表达式
start_position, --起始位置,从第几个字符开始正则表达式匹配
occurrence, --标识第几个匹配组,默认为1
match_parameter) --模式('i'不区分大小写进行检索;‘c’区分大小写进行检索)
2.与层次查询结合使用,生成特定行
SELECT REGEXP_SUBSTR('1,2,12,13', '[^,]+', 1, LEVEL) AS STR
FROM DUAL
CONNECT BY LEVEL <= LENGTH('1,2,12,13') - LENGTH(replace('1,2,12,13', ',', ''))+1;