यदि आपको उन सभी पंक्तियों को वापस करने की आवश्यकता है जिनमें कोई संख्या नहीं है, तो निम्नलिखित मदद कर सकते हैं।
कड़ाई से बोलते हुए, संख्याओं को शब्दों और अन्य प्रतीकों द्वारा दर्शाया जा सकता है, लेकिन इस लेख के लिए "संख्या" का अर्थ केवल "संख्यात्मक अंक" है। इसलिए हम ऐसे मान ढूंढ रहे हैं जिनमें कोई संख्यात्मक अंक नहीं है।
उदाहरण
मान लीजिए हमारे पास Products
. नामक एक टेबल है निम्नलिखित डेटा के साथ इसके ProductName
. में कॉलम:
SELECT ProductName
FROM Products;
परिणाम:
+-------------------------------------+ | ProductName | +-------------------------------------+ | Left handed screwdriver | | Right handed screwdriver | | Long Weight (blue) | | Long Weight (green) | | Smash 2000 Sledge Hammer | | Chainsaw (Includes 5 spare fingers) | | Straw Dog Box | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
इस कॉलम में वर्ण डेटा होता है, लेकिन कुछ पंक्तियों में उस वर्ण डेटा के भीतर संख्याएँ होती हैं (भले ही वे एक संख्यात्मक प्रकार के रूप में संग्रहीत न हों)।
हम निम्नलिखित क्वेरी का उपयोग केवल उन पंक्तियों को वापस करने के लिए कर सकते हैं जिनमें कोई संख्यात्मक अंक नहीं है:
SELECT ProductName
FROM Products
WHERE ProductName NOT REGEXP '[0-9]+';
परिणाम:
+--------------------------+ | ProductName | +--------------------------+ | Left handed screwdriver | | Right handed screwdriver | | Long Weight (blue) | | Long Weight (green) | | Straw Dog Box | +--------------------------+
जैसा कि अपेक्षित था, केवल वे पंक्तियाँ लौटाई जाती हैं जिनमें संख्याएँ नहीं होती हैं।
यहां हमने MySQL के NOT REGEX
. का उपयोग किया है एक पैटर्न से मेल खाने वाली सभी पंक्तियों को खोजने के लिए कार्य करें। पैटर्न में 0
. से सभी संख्यात्मक अंक शामिल हैं करने के लिए 9
, साथ ही कोई अन्य वर्ण।
इसे इस तरह भी लिखा जा सकता है:
SELECT ProductName
FROM Products
WHERE NOT (ProductName REGEXP '[0-9]+');
परिणाम:
+--------------------------+ | ProductName | +--------------------------+ | Left handed screwdriver | | Right handed screwdriver | | Long Weight (blue) | | Long Weight (green) | | Straw Dog Box | +--------------------------+