SQL文を利用して、テーブルのレコードのフィールド値を置換するコードを紹介します。
概要
レコードのフィールドの値の一部を置換したい場合があります。一つずつ手で修正すると非常に時間もかかり、面倒なため、SQL文を利用してまとめて置換すると楽です。この記事ではSQL文を利用してレコードのフィールドの値を置換する手順を紹介します。
SQL例
下記のテーブルを準備します。
Namelist テーブル
id | Name |
1 | prod001.jpg |
2 | prod002.jpg |
3 | prod003.jpg |
4 | prod004.jpg |
5 | prod005.jpg |
SQL文
下記の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" に置換されていることが確認できます。
Namelist テーブル
id | Name |
1 | prod001.png |
2 | prod002.png |
3 | prod003.png |
4 | prod004.png |
5 | prod005.png |
フィールドの".jpg" の文字列を ".png" に置換できました。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2023-03-26
作成日: 2018-08-23