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

मैं एक स्ट्रिंग को डिलीमीटर के रूप में उपयोग करके स्ट्रिंग को विभाजित करने के लिए रेगेक्स का उपयोग कैसे कर सकता हूं?

इन तरीकों को आजमाएं।

यह पहला तत्व प्राप्त करता है जैसा आपने मूल रूप से मांगा था:

SQL> with tbl(str) as (
      select 'Hello My Delimiter World' from dual
    )
    SELECT REGEXP_SUBSTR( str ,'(.*?)( My Delimiter |$)', 1, 1, NULL, 1 ) AS element
    FROM   tbl;

ELEME
-----
Hello

यह संस्करण पूरी स्ट्रिंग को पार्स करता है। यह दिखाने के लिए जोड़ा गया कि यह अनुपलब्ध तत्वों के साथ काम करता है:

SQL> with tbl(str) as (
      select ' My Delimiter Hello My Delimiter World My Delimiter  My Delimiter test My Delimiter ' from dual
    )
    SELECT LEVEL AS element,
    REGEXP_SUBSTR( str ,'(.*?)( My Delimiter |$)', 1, LEVEL, NULL, 1 ) AS element_value
    FROM   tbl
    CONNECT BY LEVEL <= regexp_count(str, ' My Delimiter ')+1;

   ELEMENT ELEMENT_VALUE
---------- --------------------
         1
         2 Hello
         3 World
         4
         5 test
         6

6 rows selected.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक चुनिंदा वक्तव्य में चर घोषित करना और सेट करना

  2. किसी क्वेरी का उपयोग करके 2 दी गई तिथियों के बीच महीनों की सूची कैसे प्राप्त करें?

  3. Oracle के साथ पेजिंग

  4. विषम डेटाबेस प्रतिकृति को कॉन्फ़िगर करना - SQL सर्वर से Oracle

  5. Oracle में महीने के नाम के बाद अनुगामी रिक्त स्थान कैसे निकालें?