2017-10-23 5 views
0

のmysqlデータベースの列には、さまざまなURLの画像がたくさんあります。 は、彼らはすべてが、例えば5 different characters and numbers続い同じ接頭辞prefix-、持っている:その後残念ながらMySQLは、同じ接頭辞で始まるが、アンダースコアで始まる部分だけを削除するすべての文字列を更新します。

prefix-SD356 
prefix-RV954 
prefix-UB347 

を、私はなかれ、私は削除したいother characters, numbers and underscore続いunderscoreを持っていますが、最初の部分を維持します。よりよく理解するために

このprefix-SD356_2_25.jpgこのprefix-RV954_1.jpgprefix-RV954.jpg

このprefix-UB347_1_1.jpgがそうでprefix-UB347.jpg

になるとすべきとなるべきprefix-SD356.jpg

なるはず...

私はその部分を保つprefix-[A-Za-z0-9]で始まるすべての文字列を更新し、あなたの言うことに基づいて_

答えて

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______%.%'; 
関連する問題