シンボルを置き換えるには、 TRANSLATE<を使用します。 / code>
関数、正規表現関数よりもプロセッサへの負荷が少ない:
SQL> SELECT translate ('(<FIO>)', '()[]', '----') replaced FROM dual;
REPLACED
--------
-<FIO>-
正規表現はより用途が広く、より複雑なことを実行できますが、より高価です。この場合、ある文字を別の文字に置き換えることは、特殊な機能によってより効率的に行われます。本当に正規表現を使用したい場合は、 REGEXP_REPLACE
:
SQL> SELECT regexp_replace ('[(<FIO>)]', '[]()[]', '-', 1, 0) reg FROM dual;
REG
---------
--<FIO>--
更新:最初の記号のみを置き換えたい場合、翻訳は機能しません。代わりに、以下を使用してください:
SQL> SELECT regexp_replace ('[(<FIO>)]', '[]()[]', '-', 1, 1) reg FROM dual;
REG
---------
-(<FIO>)]