MYSQL REPLACE替换字符的问题,怎替换不规则网址?
update表的名称set替换字段=REPLACE(替换字段,'原来内容','新内容')我要替换的内容都是像下面这样<ahref="不同的网址"target="_blan...
update 表的名称 set 替换字段=REPLACE(替换字段,'原来内容','新内容')
我要替换的内容都是像下面这样
<a href="不同的网址" target="_blank" title="不同的标题">
替换成空白
能实现吗? 展开
我要替换的内容都是像下面这样
<a href="不同的网址" target="_blank" title="不同的标题">
替换成空白
能实现吗? 展开
6个回答
展开全部
能实现,(如果你说的这个 <a href="不同的网址" target="_blank" title="不同的标题"> 在字段中只出现一次)
思路如下
你可以 找 <a href= 出现的位置 和 "> 出现的位置,然后从左边取和右边取,然后连起来
例如 替换字段 内容如下
AAABBB<a href="不同的网址" target="_blank" title="不同的标题">CCCDDD
用这个语句就能变成AAABBBCCCDDD
select concat(left(替换字段,instr(替换字段,'<a href=')-1),right(替换字段,INSTR(REVERSE(替换字段),'>"')-1))
如果出现n次多执行n次
试试看吧
思路如下
你可以 找 <a href= 出现的位置 和 "> 出现的位置,然后从左边取和右边取,然后连起来
例如 替换字段 内容如下
AAABBB<a href="不同的网址" target="_blank" title="不同的标题">CCCDDD
用这个语句就能变成AAABBBCCCDDD
select concat(left(替换字段,instr(替换字段,'<a href=')-1),right(替换字段,INSTR(REVERSE(替换字段),'>"')-1))
如果出现n次多执行n次
试试看吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-02-11 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517195
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
update 表的名称 set 替换字段=REPLACE
(
替换字段,
mid(替换字段,10,instr(替换字段," ",,12)-1),
'新内容')
中间的函数取出要修改的域名部分。
解释下
10是域名开始的一个字母
截止位数是查找第二个空格的位数减1
之间的就是要替换的内容。
(
替换字段,
mid(替换字段,10,instr(替换字段," ",,12)-1),
'新内容')
中间的函数取出要修改的域名部分。
解释下
10是域名开始的一个字母
截止位数是查找第二个空格的位数减1
之间的就是要替换的内容。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、如果是原字段整个为空,很简单。
update 表的名称 set 替换字段=''
2、如果清楚原来内容和新内容,也简单,就用你的那个方法
3、如果不清楚原内容,需要替换双引号中的内容,如下操作
update 表 set 字段= replace(字段, substring(字段, locate('<a href="', 字段)+9,locate('" target', 字段)-locate('<a href="', 字段)-9),'新内容');
其中9是第一个正则的长度。
写个例子
create table demo(url VARCHAR(255));
insert into demo(url) VALUES('<a href="www.baidu.com" target="_blank" title="百度">');
update demo set url = replace(url, substring(url, locate('<a href="', url)+9,locate('" target', url)-locate('<a href="', url)-9),'www.qq.com');
update 表的名称 set 替换字段=''
2、如果清楚原来内容和新内容,也简单,就用你的那个方法
3、如果不清楚原内容,需要替换双引号中的内容,如下操作
update 表 set 字段= replace(字段, substring(字段, locate('<a href="', 字段)+9,locate('" target', 字段)-locate('<a href="', 字段)-9),'新内容');
其中9是第一个正则的长度。
写个例子
create table demo(url VARCHAR(255));
insert into demo(url) VALUES('<a href="www.baidu.com" target="_blank" title="百度">');
update demo set url = replace(url, substring(url, locate('<a href="', url)+9,locate('" target', url)-locate('<a href="', url)-9),'www.qq.com');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要考虑一下REPLACE是不是唯一的方法!之后再去讨论怎么替换。
你是想将整个 <a href="不同的网址" target="_blank" title="不同的标题"> 替换成空白?
那么就这样写
update 表的名称 set 替换字段="" where 限制条件;
你要替换 “不同的网址”,“不同的标题”
update 表的名称 set 替换字段= CONCAT('<a href="',不同的网址,'" target="_blank" title="',不同的标题,'">');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询