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

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

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函数。。你可以去查一下这个函数。

update 表名 set attr3= replace(attr3,",","")

update 表名 set attr4= replace(attr4,",","")

update 表名 set attr5= replace(attr5,",","")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8370986.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存