insert into tbname(a,b,c,d,e)
 select 
substr(str,1,instr(str,'|')-1),
substr(str,instr(str,'|')+1,instr(str,'|',2)-instr(str,'|')),
substr(str,instr(str,'|',2)+1,instr(str,'|',3)-instr(str,'|',2)),
substr(str,1,instr(str,'|',3)+1,instr(str,'|',4)-instr(str,'|',3)),
substr(str,instr(str,'|',4)+1)
from ...

解决方案 »

  1.   

    请问下这句 substr(str,1,instr(str,'|')-1)是不是判断第一个分隔符'|'?
      

  2.   

    还有一个问题substr(str,instr(str,'|')+1,instr(str,'|',2)-instr(str,'|'))这句话里面
    instr(str,'|',2)-instr(str,'|')减出来的结果是3,还是4?
      

  3.   

    还有一个问题substr(str,instr(str,'|')+1,instr(str,'|',2)-instr(str,'|'))这句话里面
    instr(str,'|',2)-instr(str,'|')减出来的结果是3,还是4?
    请再回答一下好么?
      

  4.   

    是4
    sorry:
    instr(str,'|',2)-instr(str,'|')-1 //后面都需要减1