प्रतीकों को बदलने के लिए, TRANSLATE<का उपयोग करें /कोड>
फ़ंक्शन, यह रेगुलर एक्सप्रेशन फ़ंक्शंस की तुलना में कम प्रोसेसर-गहन है:
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>)]