文字列を別の文字列に置換(replace関数)

replace 関数を使うと文字列の中に含まれる一部の文字列を別の文字列に置換した値を取得することができます。ここでは SQLite における replace 関数の使い方について解説します。

(Last modified: )

replace関数の使い方

replace 関数は文字列の中に含まれる一部の文字列を他の文字列に置換した値を取得するために使用します。書式は次の通りです。

replace(対象の文字列, 置換される文字列, 置換する文字列)

1 番目の引数に指定した文字列の中に含まれる 2 番目の引数に指定した文字列を、 3 番目の引数に指定した文字列で置換した値を取得します。テーブルのデータを置換するわけではない点に注意してください。

1番目の引数にカラムを指定した場合には、カラムに格納されている値の中の 2 番目の引数に指定した文字列を 3 番目の引数に指定した文字列で置換した値を取得します。

-- --

それでは実際に試してみます。次のようなテーブルを作成しました。

create table report(id integer, name text);

replace関数の使い方(1)

INSERT 文を使って次のようなデータを格納してあります。

insert into report values(1, 'report_2018_Tokyo');
insert into report values(2, 'report_2018_Kyoto');
insert into report values(3, 'report_2018_Nagoya');
insert into report values(4, 'report_2017_Tokyo');

replace関数の使い方(2)

それでは replace 関数を使って name カラム に格納されている値のなかの 2018 をすべて 2019 に変更した値を取得します。

select name, replace(name, '2018', '2019') from report;

replace関数の使い方(3)

カラムに格納されている値の中で 2018 を 2019 に変換した値を取得することができました。

また replace 関数の1番目の引数に直接文字列を入力しても置換した値を取得することができます。

select replace('My first birthday', ' ', '_');

replace関数の使い方(4)

-- --

replace 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。