Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

मैं Oracle REGEXP_REPLACE फ़ंक्शन के भीतर कोष्ठक को हाइफ़न में कैसे बदल सकता हूँ?

प्रतीकों को बदलने के लिए, 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>)]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 'WHERE' क्लॉज में पास किए गए पैरेंट प्रोजेक्ट के चाइल्ड प्रोजेक्ट को कैसे खोजें और साथ ही, डुप्लिकेट ऑब्जेक्ट्स को खोजने के लिए

  2. मैं एक संग्रहित प्रक्रिया आउटपुट पैरामीटर कैसे प्राप्त करूं जो काम करने के लिए एक सरणी है?

  3. मौजूदा चेक बाधा को कैसे संशोधित करें?

  4. Oracle में GUID कैसे उत्पन्न करें?

  5. Oracle में सम्मिलित करना और उत्पन्न अनुक्रम ID को पुनः प्राप्त करना