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

regexp_substr खाली पदों पर छोड़ देता है

regexp_substr इस तरह काम करता है:

<ब्लॉकक्वॉट>

यदि घटना 1 से अधिक है, तो डेटाबेस पैटर्न की पहली घटना के बाद पहले वर्ण से शुरू होने वाली दूसरी घटना की खोज करता है , इत्यादि। यह व्यवहार SUBSTR फ़ंक्शन से भिन्न है, जो पहली घटना के दूसरे वर्ण पर दूसरी घटना की खोज शुरू करता है।

तो पैटर्न [^|] गैर-पाइप की तलाश करेगा, जिसका अर्थ है कि यह लगातार पाइपों ("||") को छोड़ देगा जो एक गैर-पाइप चार की तलाश में है।

आप कोशिश कर सकते हैं:

select trim(regexp_substr(replace('A|test||string', '|', '| '), '[^|]+', 1, 4)) from dual;

यह एक "|" को प्रतिस्थापित करेगा एक "| " के साथ और आपको पैटर्न के आधार पर मिलान करने की अनुमति देता है [^|]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RMAN का उपयोग करके डेटाबेस को कैसे पुनर्प्राप्त करें

  2. ORA-00932:असंगत डेटाटाइप:अपेक्षित - CLOB मिला

  3. संग्रह विधि:Oracle डाटाबेस में ट्रिम प्रक्रिया

  4. ओरेकल एसक्यूएल में गतिशील धुरी

  5. 1985-02-07T00:00:00.000Z (ISO8601) को Oracle में दिनांक मान में कैसे बदलें?