OracleでREGEXP_REPLACE関数を使って文字列を置換
環境
Oracle 12.2.0.1.0
説明
REGEXP_REPLACEは、正規表現パターンで文字列を検索できるようにREPLACEの機能を拡張したものです。デフォルトでは、このファンクションは、
正規表現パターンのすべての出現箇所をreplace_stringに置き換えてsource_charを戻します。
使用例
1.NEWS_TBLテーブルのTITLE列の文字「-」を「*」に置き換えます
UPDATE NEWS_TBL SET TITLE = REGEXP_REPLACE(TITLE,'-','*')
2. 文字列内のすべての数値を置換します
WITH CFT AS ( SELECT 'TEST56' S FROM DUAL UNION ALL SELECT 'STUDY123' S FROM DUAL UNION ALL SELECT 'K5D6F4C' S FROM DUAL ) SELECT S "ORGSTR", REGEXP_REPLACE(S, '[0-9]', '') "MODIFIED_STRCOL" FROM CFT;
実行結果
ORGSTR MODIFIED_STRCOL TEST56 TEST STUDY123 STUDY K5D6F4C KDFC