SQL文を利用して、テーブルのレコードのフィールド値を置換するコードを紹介します。
レコードのフィールドの値の一部を置換したい場合があります。一つずつ手で修正すると非常に時間もかかり、面倒なため、SQL文を利用してまとめて置換すると楽です。この記事ではSQL文を利用してレコードのフィールドの値を置換する手順を紹介します。
下記のテーブルを準備します。
id | Name |
---|---|
1 | prod001.jpg |
2 | prod002.jpg |
3 | prod003.jpg |
4 | prod004.jpg |
5 | prod005.jpg |
下記のSQL文を実行します。
update Namelist set Name = (select REPLACE (Name, '.jpg', '.png'))
update 文でNamelist テーブルを更新します。 Name フィールドに select REPLACE (Name, '.jpg', '.png')
のサブクエリを指定します。サブクエリでは REPLACE関数により、Name のフィールドの値(文字列)の .jpg
の文字列を .png
に置換した文字列を返します。 "prod001.jpg" がフィールドの値であった場合にはREPLACE関数により "prod001.png" に置換されます。
Update文によりすべてのレコードのに対して処理が実行されるため、すべての行のNameのフィールドの値にある ".jpg" の文字列は ".png"に置換されます。~
上記のSQL文を実行します。実行後にNamelist テーブルの内容を確認すると、下記の値になります。".jpg" の文字列が ".png" に置換されていることが確認できます。
id | Name |
---|---|
1 | prod001.png |
2 | prod002.png |
3 | prod003.png |
4 | prod004.png |
5 | prod005.png |
フィールドの".jpg" の文字列を ".png" に置換できました。