SQLのREPLACE関数を用いた置換機能 使用方法を徹底的に解説
  • facebookページ
  • twitterページ
  • 2019.11.18

    SQLのREPLACE関数を用いた置換機能 使用方法を徹底的に解説

    SQLのREPLACEという関数。SQL文の中で文字と文字を置き換える機能として使用することができます。今回の記事では、SQLのREPLACE関数の主な機能をご紹介しつつ、実際に使用する方法をコードとともにご紹介していきましょう。

    本記事の要点
    • SQL REPLACEは置換機能のある関数
    • MySQLを使ったSQL REPLACE関数のハンズオン

    SQL REPLACE関数とは

    SQL REPLACE関数とは、対象文字列やカラムの中から指定した文字を別の文字に置き換えることができる関数のことです。SQL REPLACE関数の構文は以下の通りです。

    例えば、以下のようなテーブルがあるとしましょう。

    この中で、「Cooking」の役割をすべて「washing」に変えるとしましょう。その場合、以下のようにREPLACE関数を使用することができます。

    出力結果は以下の通りです。

    「Cooking」の項目がすべて「Washing」に変更されていることが分かりますね。このように、SQLのREPLACE関数を使用すれば文字列・カラムの中で指定した文字を他の文字に変更することが可能なのです。

    【関連記事】
    ▶︎【実践編】SQLのIF構文で関数を作ってみよう!基礎的な使い方も解説!
    ▶︎SQLの達人への第一歩、結合と抽出を同時に処理するINNER JOINの使い方をマスターしよう

    SQL REPLACE関数を使ってみよう

    こちらでは、実際にMySQLというデータベースを使用してREPLACE関数を使ってみましょう。

    準備

    まずはMySQLを使用するための準備をしていきます。

    MySQLのインストール・接続

    まだMySQLをインストールしていない場合は、インストールしましょう。

    MySQLのインストールが終了したら、接続します。

    データベースの作成

    次にデータベースをMySQL上に作成し、使用するデータベースを指定しましょう。

    これでMySQLを使用する準備は完了しました。

    SQL REPLACEを使って単純な文字列の置き換え

    前述の例ではテーブルカラムの中身を置き換えましたが、SQLのREPLACE関数では単純な文字列の中の文字を別の文字へ置き換えることもできます。早速試してみましょう。

    このSQL文の意味がわからなかった方は、もう1度、REPLACE関数の構文を確認してみましょう。

    上記のSQL文は「Retire」という文字列から「tire」という文字を探し出し、「try」という文字に置き換えるものとなります。

    長文の置き換え

    先ほどは短い英単語の中身を置き換えましたが、長文であったとしても置き換えすることができます。

    カラムの置き換え

    最後にテーブルを作成して、その中のカラムの文字列を置き換えてみましょう。

    テーブルの作成

    まずはテーブルを作成します。

    【関連記事】
    ▶︎SQL create tableでテーブル生成 DBMSごとに差異あり

    レコードの登録

    次にレコードを登録しましょう。

    【関連記事】
    ▶︎【こんな使い方も?】SQL insertの使用方法を徹底的に解説

    animalsテーブルは以下のような状態になっています。

    REPLACE関数で置き換え

    最後にREPLACE関数でカラム内の文字を置き換えてみましょう。nameカラムの「Tom」を「Tama」に変えてみます。

    無事、REPLACE関数によって置き換えが成功しました!このように指定することで、該当カラムの指定された文字を一気に置き換えることも可能です。

    ポテパンダの一言メモ

    文字列とは異なり、REPLACEの第一引数にカラムを指定する場合には「’(シングルクォーテーション)」で囲まないということに注意しましょう。

    まとめ

    今回の記事では、SQLのREPLACE関数の主な機能をご紹介しつつ、実際に使用する方法をコードとともにご紹介していきました。SQLで一気に文字を置き換えることができる便利な関数なので、積極的に使用していきましょう。

    【関連記事】
    ▶︎SQLの達人への第一歩、結合と抽出を同時に処理するINNER JOINの使い方をマスターしよう
    ▶︎SQL betweenで範囲指定するサンプルコード 速度アップにもつながる?
    ▶︎SQL distinctのサンプルコード集 group byよりも700倍速い?



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE