在mysql数据库的表value
的列image
中,我有很多不同的图像URL。
它们都具有相同的前缀prefix-
,后跟5 different characters and numbers
,例如:
prefix-SD356
prefix-RV954
prefix-UB347
不幸的是,在此之后,我总是有underscore
后跟other characters, numbers and underscore
,我想删除但保留第一部分。
为了更好地理解:
此prefix-SD356_2_25.jpg
应成为prefix-SD356.jpg
此prefix-RV954_1.jpg
应成为prefix-RV954.jpg
此prefix-UB347_1_1.jpg
应成为prefix-UB347.jpg
依旧......
我需要一个查询,我可以更新以prefix-
[A-Za-z0-9]
开头的所有字符串,并保留该部分并删除以_
开头的其余部分
答案 0 :(得分:1)
根据你的说法:
select concat(left(string, 12), '.', substring_index(string, '.', -1))
这很容易纳入更新:
update t
set string = concat(left(string, 12), '.', substring_index(string, '.', -1))
where string like 'prefix______%.%';