Oracle REGEXP_REPLACE関数で文字列を正規表現を使用して置換する

環境
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0
SQL*Plus: Release 12.2.0.1.0

構文
REGEXP_REPLACE( 検索対象文字列 ,検索パターン ,置換文字列 ,[ 検索開始位置 ] ,[ 出現回数 ] ,[ 検索モード ] )
REGEXP_REPLACE関数を使用して文字列を正規表現を使用して置換します。
出現回数は、検索対象文字列に出現する検索パターンが何回出現したら置換するかを指定します。
検索モード
i : 大文字/小文字を区別せずに検索します。
c : 大文字/小文字を区別してに検索します。

使用例
テーブル「USER_MAST」の列「NAME」の’テスト’を’***’に変換します。
SQL構文

SELECT
  NAME
  , REGEXP_REPLACE(NAME, 'テスト', '***')  RESULT
FROM
  USER_MAST
WHERE
  USERNO = '2002' 
  AND NAME LIKE 'テスト%'

実行結果

NAME          RESULT
テスト 東京   ***東京

 

Oracle

Posted by arkgame