目前有一张源表,里面有几千条类似这样的数据
"5-4",21,benben,"[ a, 509, 0, 29 ]"
"5-9",20,birdegg,"[ c,7,5,3,2,a, 509, 0, 29 ]"5-后面的数字不固定,为结果表的最大列数,不知道能否实现如下功能
select '5-4',21,'benben','a', 509, 0, 29,null,null,null,null,null from dual
select '5-9',21,'bird','c',7,5,3,2,'a', 509, 0, 29 from dual
这样子的数据数千行插入新表首先要找到字符串里面最大列数,然后对后面的影号里进行分割,用NULL补足插入结果表~不知道自定义函数能否实现。。急。。

解决方案 »

  1.   

    完全没看明白楼主的意思。1.select '5-4',21,'benben','a', 509, 0, 29,null,null,null,null,null from dual 
    后面的五个null 如何来的??2.select '5-9',21,'bird','c',7,5,3,2,'a', 509, 0, 29 from dual为什么这个后面没有null?为什么birdegg变bird了?为什么21变20了?
      

  2.   


    1. 后面5个NULL,是我自己手动加的。。查询出来这个结果应该是SELECT 出来的结果。。
    2.笔误,非常抱歉。。应该是birdegg 和 20。
      

  3.   

    1.如果是"5-5",21,benben,"[ a, 509, 0, 29 ]"是不是要输出'5-5',21,'benben','a',509,0,29,null????另外,你这个题目是要sql,还是pl/sql呢??
      

  4.   


    1. 后面5个NULL,是我自己手动加的。。查询出来这个结果应该是SELECT 出来的结果。。
    2.笔误,非常抱歉。。应该是birdegg 和 20。还是没搞明白 "5-4",21,benben,"[ a, 509, 0, 29 ]" 你具体要得到什么结果?