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

एसक्यूएल/ओरेकल में ईमेल/पोस्टकोड फ़ील्ड पर सत्यापन

उद्धरणों सहित ईमेल पते के लिए रेगेक्सपी सिंटैक्स यहां दिया गया है

'[a-zA-Z0-9._%-][email protected][a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}'

तो आप यह जांचने के लिए कि आपके क्षेत्र में एक वैध ईमेल पता है या नहीं, आप regexp_like() जहां क्लॉज या regexp_substr() का उपयोग कर सकते हैं। यहां एक उदाहरण दिया गया है- आप देखेंगे कि regexp_substr() उस पते पर NULL लौटाता है जिसमें .domain नहीं है, जो सबस्ट्रिंग सत्यापन को विफल कर देता है। वहां से आप इसके चारों ओर एक चेक बाधा बना सकते हैं, या ट्रिगर (यक) आदि का उपयोग करके इसे लागू कर सकते हैं।

SQL> desc email
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 EMAIL_ID                                           NUMBER
 EMAIL_ADDRESS                                      VARCHAR2(128)


SQL> select * from email;

  EMAIL_ID EMAIL_ADDRESS
---------- ----------------------------------------
         1 [email protected]
         2 [email protected]
         3 [email protected]
         4 [email protected]_domaindotorg


SQL> @qry2
SQL> column email_address format a40
SQL> column substr_result format a30
SQL> SELECT  email_address
  2       ,  regexp_substr(email_address,'[a-zA-Z0-9._%-][email protected][a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}') substr_result
  3    FROM  email
  4  /

EMAIL_ADDRESS                            SUBSTR_RESULT
---------------------------------------- ------------------------------
[email protected]                           [email protected]
[email protected]                             [email protected]
[email protected]                     [email protected]
[email protected]_domaindotorg

उसी डेटा का उपयोग करते हुए, यहां एक क्वेरी है जो REGEXP_LIKE

. का उपयोग करके केवल मान्य ईमेल पतों को सीमित करती है
SQL> column email_address format a40
SQL> column substr_result format a30
SQL> SELECT  email_address
  2    FROM  email
  3   WHERE  REGEXP_LIKE (email_address, '[a-zA-Z0-9._%-][email protected][a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}');

EMAIL_ADDRESS
----------------------------------------
[email protected]
[email protected]
[email protected]

SQL संदर्भ रेगुलर एक्सप्रेशन समर्थन देखने के लिए regexp के लिए।



  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 to_date फ़ंक्शन का परीक्षण करना

  2. सी # का उपयोग कर ओरेकल रिलेशनल डेटाबेस में दिनांक कैसे सम्मिलित करें

  3. क्या तालिका और कुछ प्रारंभिक विभाजन गतिशील रूप से बनाने का कोई तरीका है?

  4. मौजूद है / मौजूद नहीं है:'1 चुनें' बनाम 'फ़ील्ड चुनें'

  5. अन्य तालिका से सबक्वेरी का उपयोग करके बाधाओं को जोड़ना