含有分隔符的字段 1|2|3|4|5|4|5 要求用mysql命令分别取出

含有分隔符的字段 1|2|3|4|5|4|5 要求用mysql命令分别取出 1 2 3 4 5 4 5 对应写入列名 t1,t2,t3,t4,t5,t6,t7
INSERT INTO 表2 (t1,t2,t3,t4,t5,t6,t7) select 分隔符数据 from 表1

substr(该字段名,1,(instr(该字段名,'|',1,1)-1)),
substr(该字段名,(instr(该字段名,'|',1,1)+1),((instr(该字段名,'|',1,2)-instr(该字段名,'|',1,1))),
substr(该字段名,(instr(该字段名,'|',1,2)+1),((instr(该字段名,'|',1,3)-instr(该字段名,'|',1,2))),
substr(该字段名,(instr(该字段名,'|',1,3)+1),((instr(该字段名,'|',1,4)-instr(该字段名,'|',1,3))),
substr(该字段名,(instr(该字段名,'|',1,4)+1),((instr(该字段名,'|',1,5)-instr(该字段名,'|',1,4))),
substr(该字段名,(instr(该字段名,'|',1,5)+1),((instr(该字段名,'|',1,6)-instr(该字段名,'|',1,5))),
substr(该字段名,(instr(该字段名,'|',1,6)+1),((instr(该字段名,'|',1,7)-instr(该字段名,'|',1,6)))
这是不确定你两个'|'之间数据的长度的语句,如果你确定分隔符之间就1个数字话可以简洁很多..
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-08
s=1|2|3|4|5|4|5
t1=`echo $s|cut -d| -f1`
t2=`echo $s|cut -d| -f2`
...
第2个回答  2012-02-11
用字符串函数啊..

好久没看 忘的差不多了。
select reverse(left(reverse('1|2|3|4|5|4|5'),charindex('|',reverse('1|2|3|4|5|4|5 '),1)-1))
第3个回答  2012-02-13
用批处理先加工一下,把 1|2|3|4|5|4|5 加工成 1,2,3,4,5,4,5
相似回答