文字列を置換する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でした。
コメント