नॉन-अल्फ़ान्यूमेरिक कैरेक्टर निम्न हैं −
@, !, #, &, (, ), ?, /
MySQL में स्ट्रिंग से नॉन-अल्फ़ान्यूमेरिक कैरेक्टर हटाने के लिए कोई इनबिल्ट फंक्शन नहीं है। इसलिए, हम एक फंक्शन बनाते हैं जो सभी नॉन-अल्फ़ान्यूमेरिक कैरेक्टर हटा देता है। फंक्शन डिक्लेरेशन और डेफिनिशन निम्न है।
mysql> delimiter // mysql> CREATE FUNCTION RemoveNonAlphaNumeric( s CHAR(255) ) RETURNS CHAR(255) DETERMINISTIC -> BEGIN -> DECLARE var1, length SMALLINT DEFAULT 1; -> DECLARE result CHAR(255) DEFAULT ''; -> DECLARE ch CHAR(1); -> SET length = CHAR_LENGTH( s ); -> REPEAT -> BEGIN -> SET ch = MID( s, var1, 1 ); -> IF ch REGEXP '[[:alnum:]]' THEN -> SET result = CONCAT(result, ch); -> END IF; -> SET var1 = var1 + 1; -> END; -> UNTIL var1 > length END REPEAT; -> RETURN result; -> END // Query OK, 0 rows affected (0.10 sec)
'RemoveNonAlphaNumeric' नाम का फंक्शन स्ट्रिंग से सभी नॉन-अल्फ़ान्यूमेरिक कैरेक्टर हटा देता है। चेक करने के लिए, हम अब यूज़र-डिफाइंड फंक्शन को कॉल करेंगे।
mysql> delimiter ;
mysql> select 'My Email id is test@123!', RemoveNonAlphaNumeric('My Email id is test@123!');
आउटपुट निम्न है जो फंक्शन "RemoveNonAlphaNumeric" का उपयोग करके अल्फ़ान्यूमेरिक कैरेक्टर को सफलतापूर्वक हटाने को दर्शाता है।
+--------------------------+---------------------------------------------------+
| My Email id is test@123! | removeNonAlphaNumeric('My Email id is test@123!') |
+--------------------------+---------------------------------------------------+
| My Email id is test@123! | MyEmailidistest123 |
+--------------------------+---------------------------------------------------+
1 row in set (0.15 sec)
इस स्ट्रिंग (MyEmailidistest123) में अब @ और ! सिंबल नहीं हैं, जिसका मतलब है कि फंक्शन सही ढंग से काम कर रहा है।