一个表A中字段info=?,-1,?,86,2,21, 这样100条数据。如info:999,-1,89,86,2,21, 如info:1,-1,2,86,2,21, 我现在要提取‘?’的位置的数据,上面数据提取结果应为 999 89 1 2请问SQL怎么写?
SELECT SUBSTR('999,-1,89,86,2,21,', 0, INSTR('999,-1,89,86,2,21,', ',') - 1), SUBSTR('999,-1,89,86,2,21,', INSTR('999,-1,89,86,2,21,', ',', 1 ,2) + 1, (INSTR('999,-1,89,86,2,21,', ',', 1, 3) - INSTR('999,-1,89,86,2,21,', ',', 1, 2) -1)) FROM DUAL;把那个字符窜换成对应的字段, DUAL替换成你用的表名, 说白了就是用INSTR比较特殊的4个参数的用法找对应的索引位置就可以了!记得给分哦,好久没玩百度知道了!