SQLで文字列置換をするにはREPLACE関数を使用することで可能となります。類似の関数にTRANSLATE関数がありますが、こちらは文字列単位ではなく1文字ずつ文字単位で置換します。
ここではPostgreSQLでの実行サンプルをベースに説明していきます。
サンプルテーブル
REPLACE関数の使用例
- クエリー(SQL)例
REPLACE関数は第二引数へ指定した文字列と一致した箇所のみ置換します。1SELECT REPLACE(name, '商品A', '012') FROM goods ORDER BY name; - 実行結果
TRANSLATE関数の使用例
- クエリー(SQL)例
TRANSLATE関数は第二引数へ指定した文字列を1文字ずつ第三引数へしていた文字へ置換します。下記例の場合、’商’ ⇒ ‘0’、’品’ ⇒ ‘1’、’A’ ⇒ ‘2’へ1文字ずつ変換されます。1SELECT TRANSLATE(name, '商品A', '012') FROM goods ORDER BY name; - 実行結果