उद्धरणों सहित ईमेल पते के लिए रेगेक्सपी सिंटैक्स यहां दिया गया है
'[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 के लिए।