MYSQL存储过程里,如果我要输入如"a, 3,100,qwe"这样一个字符串,如何去掉逗号,把a 3 100 qwe插入到表的列

来源:百度知道 编辑:UC知道 时间:2024/06/23 13:36:54
MYSQL存储过程里,如果我要输入如"a, 3,100,qwe"这样一个字符串,如何去掉逗号
插入表中,在表中排成
a
3
100
qwe
这样的形式,就是把逗号隔开的每个字段插进表的每一行。
就是用MYSQ的L语言,写一个存储过程,最后调用这个存储过程来实现。

create procedure split_str(in data varchar(200),in deli varchar(10))
begin
declare i int default 0;
declare lfstr varchar(200) default ' ';
declare instr varchar(50);
while lfstr <> data do
set i=i+1;
set lfstr=substring_index(data,deli,i);
set instr=substring_index(lfstr,deli,-1);
insert into tb1char value(instr);
end while;
end;

呵呵,,终于写出来了。。tb1char是我建的一个表,你可以换成你自己的表。
输入参数有data 就是你要插入的字符串,deli 是这个字符串的分隔符。

建立tb1char 表:
create table tb1char(data varchar(100));

调用上述存储过程:
call split_str("a, 3,100,qwe",",");

..还有就是这里面用到了mysql里面的substring_index函数。。你可以去查一下这个函数。

你用什么语言?php?还是什么

先切割字符串,然后再写入表中
$f="a, 3,100,qwe";
explode(",", $f)
这个是php的,做个循环写入