SQLでVARCHAR型カラムのデータを特定の文字で置換する方法

SQLを使用する際に、VARCHAR型のカラムのデータを特定の文字で置換するケースは頻繁にあります。例えば、ユーザーの名前を匿名化したり、URLの一部を一括で変更したりといった状況でこの技術が活用されます。この記事では、そのような操作を行うSQLクエリについて具体的な例を交えながら解説します。

日程Fit。無料・登録不要。「いつ空いてる?」を、ひとつのリンクで。リンクを送って、○△×でかんたん日程調整。無料で日程を作る。
目次

前提知識

SQLでデータの置換を行う際には、通常`REPLACE()`関数が使用されます。この関数は、指定されたカラムの指定された文字を別の文字に置換するための関数です。

REPLACE()関数の基本構文

基本的な構文は以下のとおりです。

UPDATE テーブル名
SET カラム名 = REPLACE(カラム名, '検索文字列', '置換文字列')
WHERE 条件;

具体的な使用例

では、具体的な使用例を見てみましょう。

サンプルテーブルの作成

今回は以下のようなサンプルテーブル`users`を使用します。

ID名前メールアドレス
1田中太郎[email protected]
2山田花子[email protected]
3佐藤健二[email protected]
テーブル名称1

名前の一部を匿名化する

`users`テーブルの`名前`カラムに対して、名字を”*”に置換するクエリは以下のとおりです。

UPDATE users
SET 名前 = REPLACE(名前, '田中', '*');

メールアドレスのドメインを変更する

`users`テーブルの`メールアドレス`カラムに対して、ドメインを`example.com`から`sample.com`に変更するクエリは以下のとおりです。

UPDATE users
SET メールアドレス = REPLACE(メールアドレス, 'example.com', 'sample.com');

注意点として

このようなデータの置換操作は、DBに対して直接的な変更を加えるものですから、事前にバックアップを取るなどの対策を行うことが強く推奨されます。

まとめ

SQLでVARCHAR型のカラムのデータを特定の文字で置換する操作は、`REPLACE()`関数を用いて簡単に行うことができます。ただし、この操作はデータに対する直接的な変更を伴うため、慎重な対策が必要です。特に本番環境での適用前には、テスト環境でしっかりと確認を行いましょう。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次