यदि आप REGEXP का उपयोग करके केवल अंक प्राप्त करना चाहते हैं, तो निम्नलिखित रेगुलर एक्सप्रेशन का उपयोग करें ( ^[0-9]*$) जहां क्लॉज में।
केस 1 − यदि आप केवल वही पंक्तियाँ चाहते हैं जिनमें ठीक 10 अंक हों और सभी केवल अंक हों, तो नीचे दिए गए रेगुलर एक्सप्रेशन का उपयोग करें।
चुनें *अपनेTableName से जहां आपका कॉलमनाम REGEXP '^[0-9]{10}$';
केस 2 − यदि आप केवल 1 या अधिक अंकों वाली वे पंक्तियाँ चाहते हैं, तो निम्नलिखित सिंटैक्स है -
चुनें *अपने टेबलनाम से जहां आपका कॉलमनाम REGEXP '^[0-9]*$';
उपरोक्त सिंटैक्स केवल वे पंक्तियाँ देगा जिनमें कोई वर्ण नहीं है।
उपरोक्त सिंटैक्स को समझने के लिए, आइए एक टेबल बनाएं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> OnlyDigits(UserId, UserName) value('123User1','John') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> OnlyDigits (UserId, UserName) मानों में डालें ('3445User2', 'कैरोल'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> केवल अंक (उपयोगकर्ता आईडी, उपयोगकर्ता नाम) मान ('145363 उपयोगकर्ता 3', 'माइक') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> में डालें केवल अंक (उपयोगकर्ता आईडी, उपयोगकर्ता नाम) मान ('13455 उपयोगकर्ता 4', 'लैरी'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.22 सेकंड) mysql> केवल अंक (उपयोगकर्ता आईडी, उपयोगकर्ता नाम) मान ('123555 उपयोगकर्ता 5', 'सैम') में डालें; क्वेरी ठीक है , 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> OnlyDigits (UserId, UserName) मान ('596766User6', 'David') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.24 सेकंड) mysql> OnlyDigits (UserId, UserName) मानों में डालें ('96977User7', 'Robert'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> केवल अंक (उपयोगकर्ता आईडी, उपयोगकर्ता नाम) मानों में डालें ('99999 उपयोगकर्ता 8', 'जेम्स'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) )mysql> केवल अंक (उपयोगकर्ता आईडी, उपयोगकर्ता नाम) मान ('9999999', 'जेम्स') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0. 13 सेकंड)mysql> केवल अंक (उपयोगकर्ता आईडी, उपयोगकर्ता नाम) मान ('153545', 'मैक्सवेल') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.23 सेकंड) mysql> केवल अंक (उपयोगकर्ता आईडी, उपयोगकर्ता नाम) मानों में डालें ('99999986787', 'जॉनसन');क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड)
अब आप सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित कर सकते हैं। क्वेरी इस प्रकार है -
mysql> केवल डिजिट से *चुनें;
निम्नलिखित आउटपुट है -
<पूर्व>+----+---------------+----------+| आईडी | उपयोगकर्ता आईडी | उपयोगकर्ता नाम |+-------+----------------+----------+| 1 | 123उपयोगकर्ता1 | जॉन || 2 | 3445उपयोगकर्ता2 | कैरल || 3 | 145363उपयोगकर्ता3 | माइक || 4 | 13455उपयोगकर्ता4 | लैरी || 5 | 123555उपयोगकर्ता5 | सैम || 6 | 596766उपयोगकर्ता6 | डेविड || 7 | 96977उपयोगकर्ता7 | रॉबर्ट || 8 | 99999उपयोगकर्ता8 | जेम्स || 9 | 9999999 | जेम्स || 10 | 153545 | मैक्सवेल || 11 | 9999986787 | जॉनसन |+----+----------------+----------+11 पंक्तियों में सेट (0.00 सेकंड)केस 1 - जब आप एक स्ट्रिंग में ठीक 10 अंक चाहते हैं तो रेगेक्स के साथ निम्नलिखित क्वेरी है और सभी एक संख्या होनी चाहिए:
mysql> *onlyDigits-> से चुनें जहां UserId REGEXP '^[0-9]{10}$';
निम्न आउटपुट है -
+-----+---------------+----------+| आईडी | उपयोगकर्ता आईडी | उपयोगकर्ता नाम |+-------+---------------+----------+| 11 | 9999986787 | जॉनसन |+----+------------+----------+1 पंक्ति में सेट (0.00 सेकंड)
केस 1 का वैकल्पिक रेगुलर एक्सप्रेशन. क्वेरी इस प्रकार है:
mysql> *onlyDigits-> से चुनें जहां UserId REGEXP '^[[:digit:]]{10}$';
निम्न आउटपुट है -
+-----+---------------+----------+| आईडी | उपयोगकर्ता आईडी | उपयोगकर्ता नाम |+-------+---------------+----------+| 11 | 9999986787 | जॉनसन |+----+------------+----------+1 पंक्ति में सेट (0.00 सेकंड)
केस 2 − यदि आप केवल उन पंक्तियों को एक या अधिक अंक (केवल अंक) के साथ चाहते हैं। क्वेरी इस प्रकार है:
mysql> *onlyDigits-> से चुनें जहां UserId REGEXP'^[0-9]*$';
निम्न आउटपुट है:
+-----+---------------+----------+| आईडी | उपयोगकर्ता आईडी | उपयोगकर्ता नाम |+-------+---------------+----------+| 9 | 9999999 | जेम्स || 10 | 153545 | मैक्सवेल || 11 | 9999986787 | जॉनसन |+----+------------+----------+3 पंक्तियों में सेट (0.00 सेकंड)