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

ओरेकल एसक्यूएल में नियमित अभिव्यक्ति से मेल खाने वाली स्ट्रिंग का हिस्सा कैसे प्राप्त करें

इसे करने का एक तरीका REGEXP_REPLACE है। आपको पूरी स्ट्रिंग को रेगेक्स पैटर्न के रूप में परिभाषित करने की आवश्यकता है और फिर केवल उस तत्व का उपयोग करें जिसे आप replace string के रूप में चाहते हैं . इस उदाहरण में ColorID पूरे स्ट्रिंग में तीसरा पैटर्न है

SELECT REGEXP_REPLACE('product=1627;color=45;size=7'
                         , '(.*)(color\=)([^;]+);?(.*)'
                         , '\3') "colorID"  
FROM DUAL;  

यह संभव है कि कम क्लंकी रेगेक्स समाधान हो, लेकिन यह निश्चित रूप से काम करता है। यहां एक SQL Fiddle है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:to_date . में NULL मान से बचना

  2. RefCursor रिटर्न प्रकार के साथ Oracle संग्रहीत कार्यविधि का परीक्षण कैसे करें?

  3. स्ट्रिंग के भाग के लिए संपूर्ण ऑरैकल डेटाबेस खोजें

  4. कॉलम में मानों के परिवर्तन की गणना के लिए SQL क्वेरी

  5. इनर जॉइन क्वेरी से अपडेट सेट थ्रोइंग एरर