मारियाडीबी के साथ काम करते समय, आपको कभी-कभी खुद को उन सभी पंक्तियों को वापस करने की आवश्यकता हो सकती है जिनमें कम से कम एक संख्यात्मक अंक होता है।
ऐसे मामलों में, आपको निम्न उदाहरण उपयोगी लग सकता है।
उदाहरण
मान लीजिए हमारे पास Products
. नामक एक टेबल है निम्नलिखित डेटा के साथ इसके ProductName
. में कॉलम:
SELECT ProductName
FROM Products;
परिणाम:
+-------------------------------------+ | ProductName | +-------------------------------------+ | Left Handed Screwdriver | | Right Handed Screwdriver | | Bottomless Coffee Cup | | Smash 2000 Sledgehammer | | Chainsaw (includes 3 spare fingers) | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
इस कॉलम में स्पष्ट रूप से वर्ण डेटा होता है, लेकिन कुछ पंक्तियों में उस वर्ण डेटा के भीतर संख्याएँ होती हैं (भले ही वे एक संख्यात्मक प्रकार के रूप में संग्रहीत न हों)।
हम निम्नलिखित क्वेरी का उपयोग केवल उन पंक्तियों को वापस करने के लिए कर सकते हैं जिनमें संख्यात्मक अंकों द्वारा दर्शाए गए नंबर होते हैं:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[0-9]+';
परिणाम:
+-------------------------------------+ | ProductName | +-------------------------------------+ | Smash 2000 Sledgehammer | | Chainsaw (includes 3 spare fingers) | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
जैसा कि अपेक्षित था, केवल वे पंक्तियाँ जिनमें संख्याएँ होती हैं, लौटा दी जाती हैं।
इस मामले में, हमने REGEXP
. का इस्तेमाल किया एक पैटर्न से मेल खाने वाली सभी पंक्तियों को खोजने के लिए कार्य करें। पैटर्न में 0
. से सभी संख्यात्मक अंक शामिल हैं करने के लिए 9
, साथ ही कोई अन्य वर्ण।