(Oracle) REPLACEで文字列を置換する

(Oracle) REPLACEで文字列を置換する

 

本記事では、
Oracleで文字列の置換をすることができる「REPLACE」関数について解説していく。

 

REPLACE –文字列を置換する–

Oracleの「REPLACE」を使えば、
文字列を置換して表示することが可能だ。

 

 

REPLACEの使い方

OracleのREPLACEの使い方は下記のようになっている。

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

 




 

REPLACEで文字列を置換するサンプル

では以下に、
REPLACEを使って文字列を置換するサンプルをパターン毎にいくつか紹介していく。

 

① REPLACEで文字列を置換するパターン

--文字列「TAROU」をREPLACEで「JIROU」に置換
SELECT
REPLACE('TAROU','TA','JI')
FROM DUAL;

--結果
'JIROU'

上記は最も基本的なREPLACEの使い方。

REPLACEを使って、文字列「TAROU」の「TA」を、「JI」に置換した。
結果、「TAROU」が「JIROU」になって表示された。

 

② REPLACEで文字列の置換対象が存在しないパターン

--置換対象が存在しない
SELECT
REPLACE('TAROU','xxx','yyy')
FROM DUAL;

--結果
'TAROU'

上記は、
置換文字列「xxx」を「yyy」に置換しようと試みたが、
そもそも 「xxx」が存在しないというパターンだ。

REPLACEで置換する対象がない場合は元の文字列が返ってくる
なので、エラーになったりという心配はない。
「あったら置換する」という使い方ができるのが特徴だ。

 

③ REPLACEで文字列を切り取るパターン

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

REPLACEでは、
第3パラメータを指定しないと第2パラメータの文字列が切り取られて返ってくる。

上記の例では、
「TAROU」の「U」がREPLACEによって切り取られ、「TARO」となって返ってきた。

 

REPLACEの使い方まとめ

 

REPLACEの使い方まとめ
  • REPLACEの書式
REPLACE(文字列, 置換前文字列, 置換後文字列)
  • 置換する対象がない場合は元の文字列が返ってくる
  • 第3パラメータを指定しないと第2パラメータの文字列が切り取られて返ってくる

 

 

関連記事

(Oracle) COUNT でレコード件数を取得する方法
(Oracle) DISTINCT でselect結果から重複を無くす

 

https://www.shift-the-oracle.com/sql/functions/replace.html

https://docs.oracle.com/cd/E16338_01/server.112/b56299/functions153.htm

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。