SELECT 
 SUBSTR(字段,1,3) AS 字段1,SUBSTR(字段,5,3) AS 字段1,SUBSTR(字段,9,3) AS 字段3
...

解决方案 »

  1.   

    如果 '-' 的位置不确定的话,可以这样:
    select '111-222-333',
    substr('111-222-333',
           0,
           instr('111-222-333','-',1)-1
          ),
    substr('111-222-333',
           instr('111-222-333','-',1)+1,
           instr('111-222-333','-',2)-1
          ),
    substr('111-222-333',
           instr('111-222-333','-',2)+1,
           instr('111-222-333','-',3)-1
          )
     from dual
      

  2.   

    顶一下,用SUBSTR(待处理字符串,起始位置,要取字符串长度)得到需要的字符串