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

Oracle SQL Regex अपेक्षित परिणाम नहीं लौटा रहा है

Oracle गैर-कैप्चरिंग समूहों का समर्थन नहीं करता (?:) . इसके बजाय आपको एक कैप्चरिंग समूह का उपयोग करना होगा।

इसे पर्ल-स्टाइल व्हाइटस्पेस मेटा-कैरेक्टर \s . भी पसंद नहीं है एक वर्ण वर्ग के अंदर मिलान करें [] (यह वर्णों से मेल खाएगा \ और s व्हाइटस्पेस के बजाय)। आपको POSIX एक्सप्रेशन [:space:] . का इस्तेमाल करना होगा इसके बजाय।

SQL Fiddle

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

क्वेरी 1 :

select *
from (
  select column_value str
  from   table(sys.dbms_debug_vc2coll('123','1234','12345','12 135', '1', '12 3'))
)
where regexp_like(str, '\d([()[:space:]#-]*\d){3,}')

परिणाम :

|    STR |
|--------|
|   1234 |
|  12345 |
| 12 135 |



  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 MIN विश्लेषणात्मक कार्य के रूप में - ORDER BY के साथ अजीब व्यवहार?

  2. Oracle 11.2 Windows दो लाइनों के साथ स्टार्टअप नहीं कर सकता

  3. साउंडएक्स स्ट्रिंग पैरामीटर के रूप में संख्याओं के साथ

  4. कैसे जांचें कि ओरेकल में सभी फ़ील्ड अद्वितीय हैं या नहीं?

  5. JDBC ResultSet को टेबल एलियास के साथ कॉलम मिलते हैं