PostgreSQLで文字列を置換する方法 - replace関数を使用

PostgreSQLで文字列を置換したい場合、単純な文字列置換であれば、replace関数を使うのが簡単である。

《例》テーブル「test_table」のカラム(列)「test_colmn1」に「犬」という文字列が含まれる場合、「犬」の文字列を「猫」の文字列に置換したい場合

1.テーブル「test_table」から、カラム(列)「test_colmn1」に「犬」という文字列が含まれる行をカウントする。
select count(*) from test_table where test_colmn1 like '%犬%';

※該当する行が1件も存在しない場合は、置換作業が不要である。

2.テーブル「test_table」のカラム(列)「test_colmn1」に「犬」という文字列が含まれる場合、「犬」の文字列を「猫」の文字列に置換する。
update test_table set test_colmn1 = replace(test_colmn1,'犬','猫') where test_colmn1 like '%犬%';

※2の実行により置換対象となった行数は、1の実行により得られる行数と同じになるはずである。

前へ

『カナヘイのゆるっとカンタン英会話』を読んだ感想

次へ

PostgreSQLの正規表現で複数の繰り返し文字列を他の文字列に置換する方法 - regexp_replace関数を使用