解决方案 »

  1.   


    select REGEXP_SUBSTR(c1, '[^,]+', 1, LEVEL) STR
      from (select 'ds,dd' c1 from dual) t
    CONNECT BY LEVEL <= REGEXP_COUNT(c1, ',') + 1
           and rowid = prior rowid
           and prior dbms_random.value is not null;
      

  2.   

    with a as (
     SELECT 'ds,dd,33,2,34,,2,2' col FROM dual  )
     SELECT REGEXP_SUBSTR(col, '[^,]+', 1, LEVEL)
       FROM A
     CONNECT BY LENGTH(REGEXP_SUBSTR(col, '[^,]+', 1, LEVEL)) > 0