mysql批量替换或删除某字段前的内容
批量删除127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview127.0.0.1/w...
批量删除
127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview
127.0.0.1/wwww/zh-cn/download/1feeb3cf55372afc0fa3c8140341fae4/preview
很多个这样的链接
.........
其中abcd和wwww是每个链接都不同怎么才能实现这个样子
记住127.0.0.1/****/zh-cn/之间的字符每一个链接都不是相同的
,怎么把download/前的都删除了,
怎么实现啊.
语句具体点,可以直接在sql中运行
1楼的只能替换一条,不能批量替换啊 展开
127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview
127.0.0.1/wwww/zh-cn/download/1feeb3cf55372afc0fa3c8140341fae4/preview
很多个这样的链接
.........
其中abcd和wwww是每个链接都不同怎么才能实现这个样子
记住127.0.0.1/****/zh-cn/之间的字符每一个链接都不是相同的
,怎么把download/前的都删除了,
怎么实现啊.
语句具体点,可以直接在sql中运行
1楼的只能替换一条,不能批量替换啊 展开
2个回答
展开全部
搞个一条语句,有点繁琐
select
concat('www.baidu.com',
substr(
'127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview',
LOCATE('/download/','127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview')+length('/download'),
length('127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview')
)
)
如果常用,可考虑写个存储过程
呵呵 怎么又变需求了(⊙o⊙)哦
substr(
'127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview',
LOCATE('/download/','127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview'),
length('127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview')
)
这个就是删除download/前的了,结果即为:
/download/efff11c272c72c56b99cf64a573007db/preview
注释:
substr(str,startnum,endnum);
str='127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview'
startnum:LOCATE('/download/','127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview'),为'/download/ 在127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview首次出现的位置
endnum : length('127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview') 为字符串的总长度
可以的,把127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview存这些的字段名称代替即可,不知道哦你的表结构是什么样的,大概思路是这样的:
update table1 set table1.message=
concat('www.baidu.com',
substr(
message,
LOCATE('/download/',message)+length('/download'),
length(message)
)
)
还搞不定可以hi我
select
concat('www.baidu.com',
substr(
'127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview',
LOCATE('/download/','127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview')+length('/download'),
length('127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview')
)
)
如果常用,可考虑写个存储过程
呵呵 怎么又变需求了(⊙o⊙)哦
substr(
'127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview',
LOCATE('/download/','127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview'),
length('127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview')
)
这个就是删除download/前的了,结果即为:
/download/efff11c272c72c56b99cf64a573007db/preview
注释:
substr(str,startnum,endnum);
str='127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview'
startnum:LOCATE('/download/','127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview'),为'/download/ 在127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview首次出现的位置
endnum : length('127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview') 为字符串的总长度
可以的,把127.0.0.1/abcd/zh-cn/download/efff11c272c72c56b99cf64a573007db/preview存这些的字段名称代替即可,不知道哦你的表结构是什么样的,大概思路是这样的:
update table1 set table1.message=
concat('www.baidu.com',
substr(
message,
LOCATE('/download/',message)+length('/download'),
length(message)
)
)
还搞不定可以hi我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询