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

नियमित अभिव्यक्ति का उपयोग करके एकाधिक मिलान स्ट्रिंग कैसे प्राप्त करें

यदि आप इन सभी को पंक्ति . में एक स्ट्रिंग के रूप में चाहते हैं उन्हें नियमित अभिव्यक्तियों का उपयोग करने की कोई आवश्यकता नहीं है आप एक मानक REPLACE() :

SQL> select replace('2711393|2711441|1234567', '|', ', ') from dual;

REPLACE('2711393|2711441|
-------------------------
2711393, 2711441, 1234567

यदि आप इन सभी को एक ही कॉलम में चाहते हैं तो आपको CONNECT BY जैसा कि मैं प्रदर्शित करता हूं यहां . कृपया ध्यान दें कि यह अत्यधिक अक्षम है।

SQL>  select regexp_substr('2711393|2711441|1234567', '[^|]+', 1, level)
  2     from dual
  3  connect by regexp_substr('2711393|2711441|1234567'
  4                           , '[^|]+', 1, level) is not null;

REGEXP_SUBSTR('2711393|2711441|1234567','[^|]+',1,LEVEL)
--------------------------------------------------------------------------

2711393
2711441
1234567

SQL>

अगर आप इन्हें अलग-अलग कॉलम में चाहते हैं तो आपको का इस्तेमाल करना होगा। PIVOT और आपको यह जानना होगा कि आपके पास कितने हैं। मैं मान रहा हूँ 3.

SQL> select *
  2    from (
  3   select regexp_substr('2711393|2711441|1234567', '[^|]+', 1, level) as a
  4        , level as lvl
  5     from dual
  6  connect by regexp_substr('2711393|2711441|1234567'
  7                           , '[^|]+', 1, level) is not null
  8          )
  9   pivot ( max(a)
 10          for lvl in (1,2,3)
 11          )
 12         ;

1          2          3
---------- ---------- ----------
2711393    2711441    1234567

SQL>

जैसा कि आप देख सकते हैं कि ये सभी पूरी तरह से भयानक हैं और, पहले को बचाएं, अत्यधिक अक्षम। आपको यह सुनिश्चित करने के लिए अपने डेटाबेस को सामान्य रूप से सामान्य करना चाहिए कि आपको ऐसा नहीं करना है।




  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 12c संस्थापन अस्थायी स्थान तक पहुँचने में विफल रहा

  2. डेवलपर्स के लिए प्रश्नोत्तर फोरम में शामिल हों

  3. PLSQL - पुनरावर्ती लूप के कारण ट्रिगर में सम्मिलित करें

  4. Oracle SQL में दो कॉलम पिवोटिंग

  5. Pl/SQL नेस्टेड प्रक्रिया अपवाद हैंडलिंग