Om symbolen te vervangen, gebruikt u de TRANSLATE
functie, het is minder processorintensief dan reguliere expressiefuncties:
SQL> SELECT translate ('(<FIO>)', '()[]', '----') replaced FROM dual;
REPLACED
--------
-<FIO>-
Reguliere expressies zijn veelzijdiger en kunnen complexere dingen doen, maar zijn duurder. In dit geval wordt het vervangen van het ene teken door het andere efficiënter gedaan door een gespecialiseerde functie. Als je echt reguliere expressies wilt gebruiken, kun je REGEXP_REPLACE
:
SQL> SELECT regexp_replace ('[(<FIO>)]', '[]()[]', '-', 1, 0) reg FROM dual;
REG
---------
--<FIO>--
Update:als u alleen het eerste symbool wilt vervangen, werkt vertalen niet. Gebruik in plaats daarvan:
SQL> SELECT regexp_replace ('[(<FIO>)]', '[]()[]', '-', 1, 1) reg FROM dual;
REG
---------
-(<FIO>)]