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の実行により得られる行数と同じになるはずである。