regexp_replace 也可以使用 replace 

解决方案 »

  1.   


    但是返回的还是一行数据, 只是字符串中有换行符. 如果要返回多行数据, 可以这么写: 
    SELECT REGEXP_SUBSTR('张三3,李四4,王五C,赵六D', '[^(;|,)]+', 1, ROWNUM) SINGLE_NAME
      FROM DUAL
    CONNECT BY ROWNUM <=
               LENGTH(REGEXP_REPLACE('张三3,李四4,王五C,赵六D', '[[:alnum:]]')) + 1;
      

  2.   

    regexp_instr、substr、pipe row相互配合能进行拆分