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

नियमित अभिव्यक्ति विशेष चरित्र उन्मूलन

select '11dd$%[email protected]' as input, regexp_replace('11dd$%[email protected]', '[^[:alnum:]]') as output
from   dual
;

INPUT         OUTPUT 
------------  --------
11dd$%[email protected]  11dde11h

[:alnum:] सभी अक्षरों (मानक ASCII अक्षर, निचला और ऊपरी मामला) और सभी अंकों के लिए आशुलिपि है। [^ ... ] मतलब ... . को छोड़कर सब कुछ . तो, यह अक्षरों और अंकों को छोड़कर सब कुछ बदल देगा... कुछ भी नहीं (चूंकि हमने REGEXP_REPLACE को तीसरा तर्क नहीं दिया)।

संपादित करें :ओपी ने प्रश्न में दूसरा भाग जोड़ा।

यदि असाइनमेंट केवल सभी अल्फा-न्यूमेरिक वर्णों को हटाने के लिए है, और बाकी सब कुछ रखने के लिए, बस ^ हटा दें रेगुलर एक्सप्रेशन से.

select '11dd$%[email protected]' as input, regexp_replace('11dd$%[email protected]', '[[:alnum:]]') as output
from   dual
;

INPUT         OUTPUT
------------  ------
11dd$%[email protected]  $%[email protected]



  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. SQL - एक आदेशित सूची में परिवर्तनों की संख्या की गणना करें

  3. एसक्यूएल व्यू में प्राथमिक कुंजी जोड़ना

  4. pl/sql संग्रहीत कार्यविधि:पैरामीटर नाम स्तंभ नाम के समान है

  5. Oracle - sql_text को क्रिएट/अल्टर/ग्रांट स्टेटमेंट के लिए 20 वर्णों तक छोटा कर दिया गया?