उद्धरणों सहित ईमेल पते के लिए रेगेक्सपी सिंटैक्स यहां दिया गया है
'[a-zA-Z0-9._%-]example@sqldat.com[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 example@sqldat.com
2 example@sqldat.com
3 example@sqldat.com
4 example@sqldat.com_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._%-]example@sqldat.com[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}') substr_result
3 FROM email
4 /
EMAIL_ADDRESS SUBSTR_RESULT
---------------------------------------- ------------------------------
example@sqldat.com example@sqldat.com
example@sqldat.com example@sqldat.com
example@sqldat.com example@sqldat.com
example@sqldat.com_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._%-]example@sqldat.com[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}');
EMAIL_ADDRESS
----------------------------------------
example@sqldat.com
example@sqldat.com
example@sqldat.com
SQL संदर्भ रेगुलर एक्सप्रेशन समर्थन देखने के लिए regexp के लिए।