【Oracle】REPLACE で文字列を置換する

文字列を置換するREPLACE

Oracleで文字列を置換するには「REPLACE」を使います。

構文

REPLACE(文字列, 置換前文字列, 置換後文字列)

REPLACEで指定された文字列の置換前文字列を置換後文字列で置換します。

例1. REPLACEで文字列を置換するパターン

--文字列「SATOU」をREPLACEで「KATOU」に置換
SELECT REPLACE('SATOU','S','K') FROM DUAL;
[結果] 'KATOU'

OracleのReplaceを使って、文字列「SATOU」の「S」→「K」に置換しました。「SATOU」が「KATOU」になりました。

例2. REPLACEで文字列を置換できないパターン

--置換対象がない
SELECT REPLACE('SATOU','X','Y') FROM DUAL;
[結果] 'SATOU'

Replaceで「SATOU」の「X」→「Y」に置換しましたが、「SATOU」に「X」が含まれないので「Y」には置換されませんでした。

置換する対象がない場合は元の文字列が返ってきます。

例3. REPLACEで文字列を切り取るパターン

--文字列「SATOU」の「U」を切り取る
SELECT REPLACE('SATOU','U') FROM DUAL;
[結果] 'SATO'

第3パラメータを指定しないと第2パラメータの文字列が切り取りされます。「SATOU」の「U」がReplaceによって切り取られ、「SATO」となりました。このようにReplaceを使って文字列を切り取ることもできます。

「REPLACE」で文字列を置換するパターンを3つ取り挙げました。

以上、Oracleで文字列を置換するREPLACEでした。

コメント