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

Oracle में regexp_substr . के साथ सीमांकक के रूप में स्पेस और कैरेक्टर द्वारा विभाजित स्ट्रिंग

एसक्यूएल फिडल

Oracle 11g R2 स्कीमा सेटअप :

CREATE TABLE TEST( str ) AS
          SELECT 'Hello world - test-test! - test' FROM DUAL
UNION ALL SELECT 'Hello world2 - test2 - test-test2' FROM DUAL;

क्वेरी 1 :

SELECT Str,
       COLUMN_VALUE AS Occurrence,
       REGEXP_SUBSTR( str ,'(.*?)([[:space:]]-[[:space:]]|$)', 1, COLUMN_VALUE, NULL, 1 ) AS split_value
FROM   TEST,
       TABLE(
         CAST(
           MULTISET(
             SELECT LEVEL
             FROM   DUAL
             CONNECT BY LEVEL < REGEXP_COUNT( str ,'(.*?)([[:space:]]-[[:space:]]|$)' )
           )
           AS SYS.ODCINUMBERLIST
         )
       )

परिणाम :

|                               STR | OCCURRENCE |  SPLIT_VALUE |
|-----------------------------------|------------|--------------|
|   Hello world - test-test! - test |          1 |  Hello world |
|   Hello world - test-test! - test |          2 |   test-test! |
|   Hello world - test-test! - test |          3 |         test |
| Hello world2 - test2 - test-test2 |          1 | Hello world2 |
| Hello world2 - test2 - test-test2 |          2 |        test2 |
| Hello world2 - test2 - test-test2 |          3 |   test-test2 |


  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. क्या पीएल/एसक्यूएल के पास जावा के बराबर स्ट्रिंगटोकनाइज़र है?

  3. एसक्यूएल प्रश्न कैसे लिखें

  4. NLS_INITCAP () Oracle में फ़ंक्शन

  5. Ubuntu 9.x पर ORACLE_HOME वैरिएबल को सही तरीके से कैसे सेट करें?