mysql 怎么删除两个字符串之间的字符 10

mysql怎么删除两个字符串之间的字符如有张表a里面有个字段b内容<div>111111<divid=a>nnn<divid=C>222</div>aaaa<divid=... mysql 怎么删除两个字符串之间的字符
如有张表a 里面有个字段b 内容<div>111111<div id=a>nnn<div id=C>222</div>aaaa<div id=C>cccccc</div> 3333</div></div>
要删除多个<div id=C></div>以及里面的内容 div个数不定
删除后的结果如下
<div>111111<div id=a>nnnaaaa 3333</div></div>
求高手帮忙想个办法 批量删除
展开
 我来答
theprogrammer
2012-12-05 · TA获得超过1650个赞
知道小有建树答主
回答量:1127
采纳率:0%
帮助的人:471万
展开全部
可以用regular expression(正则表达式) 替换,

我没有mysql环境,你自己调一下,基本格式如下:
update your_table set col1 = dbo.RegexReplace('<div[ ]+id=C>*</div>','',col1,1,1);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
echo_twoa1
2017-10-15 · TA获得超过2799个赞
知道大有可为答主
回答量:2258
采纳率:33%
帮助的人:1215万
展开全部
创建一个存储过程
create procedure aa()
BEGIN
declare num int default 1;
declare str varchar(2000) default 0;
declare str1 varchar(2000) default 0;

select b into str from a;
select locate("C",str) into num from a;


while num<>0 DO
select substring(str,locate("<div id=C>",str),(locate("</div>",str)+5)-locate("<div id=C>",str)+1) into str1 from a;
select replace(str,str1,'') into str;
select locate("C",str) into num;
end while;

select str;
end;

调用时
call aa();
思路是这样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
醉酒猖狂哥
2012-11-22 · TA获得超过308个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:120万
展开全部
建议使用substring()函数进行字段值拆分或导入到csv文件再在表格中进行分列、替换、合并等操作后再导入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
goulianzi54
2012-11-29
知道答主
回答量:12
采纳率:0%
帮助的人:6.9万
展开全部
你把 标签放 数据库里是什么意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式