0

下の表の画像名を変更したいのですが。

画像名:test.png

置換:test_E.png

mysqlクエリを使用して、テーブル内のすべての画像名の最後に_Eが必要です。

4

2 に答える 2

3

置換機能を使用する

update <table>
set image=replace(image,'.png','_E.png')

画像の拡張子が表で同じでない場合は、これを使用できます

   update <table>
     set image=concat(substring(image,1,locate('.',image)-1),'_E',
                 substring(image,locate('.',image),lenght(image)))
于 2012-10-03T09:21:18.643 に答える
0

MySQLクエリの文字列関数を使用できます。

UPDATE TABLE SET IMAGE_NAME = CONCAT(SUBSTR(IMAGE_NAME,(CHAR_LENGTH(IMAGE_NAME) - 4)),
'_E' , SUBSTR(IMAGE_NAME, -4)) WHERE ID = <put record id>;

SUBSTR(IMAGE_NAME,(CHAR_LENGTH(IMAGE_NAME)-4))ファイルの名前を返します-拡張子が3文字であると仮定します。上記の「test.png」の場合、関数は「.png」を削除し、関数は「test」を返します

SUBSTR(IMAGE_NAME, -4)文字列の最後の4文字を返します-したがって、'test.png'は'.png'を返します

concatを使用すると、'test'、'_ E'、および'.png'を連結できます-'test_E.png'を返します

詳細については、MySQLの文字列関数リファレンスを参照してください。

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

于 2012-10-03T09:44:14.933 に答える