方法太多了吧,xmltable, connect_by等都可以

解决方案 »

  1.   

    帮忙写一个出来,用ORACLE写 
      

  2.   

    核心代码,如:WITH T AS
     (SELECT 'UASD1M,123,1882,IID' C1 FROM DUAL)
    select REGEXP_SUBSTR(C1, '[^,]+', 1, LEVEL) STR
      from T
    CONNECT BY LEVEL <= REGEXP_COUNT(C1, ',') + 1
           and rowid = prior rowid
           and prior dbms_random.value is not null;
      

  3.   

    select REGEXP_SUBSTR('UASD1M,123,1882,IID', '[^,]+', 1, LEVEL) STR
      from dual
    CONNECT BY LEVEL <= REGEXP_COUNT('UASD1M,123,1882,IID', ',') + 1
           and prior dbms_random.value is not null;
      

  4.   

    比如说xmltable,如果你是11G的话,可以这样:
    SELECT (COLUMN_VALUE).getstringval() FROM XMLTABLE('"aaa","bbb","ccc"')关于那个connect by的,你可以参考这个http://blog.csdn.net/eleven204/article/details/6638083还有其他的方法,比如说你可以先把字符串转换成xml格式,然后用xmlsequence转换成表,总之方法很多,在网上多找找就有