यदि आपके पास डेटाबेस तालिका में एक स्तंभ है जिसमें वर्ण डेटा है, लेकिन कुछ पंक्तियों में संख्याएँ भी हैं, तो आप केवल उन पंक्तियों को वापस करने के लिए निम्न SQL क्वेरी का उपयोग कर सकते हैं जिनमें मान के भीतर संख्याएँ नहीं हैं।
कड़ाई से बोलते हुए, संख्याओं को संख्यात्मक अंकों, शब्दों और अन्य प्रतीकों द्वारा दर्शाया जा सकता है, लेकिन इस लेख के उद्देश्य के लिए, "संख्या" का अर्थ "संख्यात्मक अंक" है। इसलिए हम ऐसे मान ढूंढ रहे हैं जिनमें कोई संख्यात्मक अंक नहीं है।
आपके द्वारा उपयोग की जाने वाली क्वेरी आपके DBMS पर निर्भर करेगी।
एसक्यूएल सर्वर
SQL सर्वर में, हम इस तरह की क्वेरी का उपयोग कर सकते हैं:
SELECT ProductName
FROM Products
WHERE ProductName NOT LIKE '%[0-9]%';
यहां, हम उन सभी पंक्तियों को वापस कर रहे हैं जहां ProductName
कॉलम में कोई संख्यात्मक अंक नहीं है।
ओरेकल
Oracle में, हम REGEXP_LIKE()
. का उपयोग कर सकते हैं समारोह:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');
इस मामले में हम एक नियमित अभिव्यक्ति पैटर्न प्रदान करते हैं जो उन मानों से मेल खाता है जिन्हें हम वापस नहीं करना चाहते हैं। मान वास्तव में मेल खाते हैं, लेकिन हम NOT
. का उपयोग करके मैच को नकार भी देते हैं , जिसका अर्थ है कि जो कुछ भी मेल नहीं खाता वह वापस कर दिया जाता है।
इसे करने का दूसरा तरीका [:digit:]
. का उपयोग करना है पॉज़िक्स कैरेक्टर क्लास:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');
MySQL
MySQL में, हम NOT REGEX
. का उपयोग कर सकते हैं समारोह:
SELECT ProductName
FROM Products
WHERE ProductName NOT REGEXP '[0-9]+';
इसे लिखने का दूसरा तरीका इस प्रकार है:
SELECT ProductName
FROM Products
WHERE NOT (ProductName REGEXP '[0-9]+');
या हम [:digit:]
. का उपयोग कर सकते हैं पॉज़िक्स कैरेक्टर क्लास:
SELECT ProductName
FROM Products
WHERE NOT (ProductName REGEXP '[[:digit:]]');
मारियाडीबी
MariaDB में, हम इसके कार्यान्वयन का उपयोग कर सकते हैं NOT REGEX
समारोह:
SELECT ProductName
FROM Products
WHERE ProductName NOT REGEXP '[0-9]+';
इसे लिखने का दूसरा तरीका इस प्रकार है:
SELECT ProductName
FROM Products
WHERE NOT (ProductName REGEXP '[0-9]+');
या हम [:digit:]
. का उपयोग कर सकते हैं पॉज़िक्स कैरेक्टर क्लास:
SELECT ProductName
FROM Products
WHERE NOT (ProductName REGEXP '[[:digit:]]');
PostgreSQL
यहां बताया गया है कि हम इसे Postgres में कैसे कर सकते हैं:
SELECT ProductName
FROM Products
WHERE ProductName !~ '[0-9]+';
SQLite
SQLite में, हम यह कर सकते हैं:
SELECT ProductName
FROM Products
WHERE ProductName NOT REGEXP '[0-9]+';
SQLite में, REGEXP
ऑपरेटर REGEXP()
. के लिए एक विशेष सिंटैक्स है उपयोगकर्ता कार्य करता है, इसलिए हम निम्न कार्य भी कर सकते हैं:
SELECT ProductName
FROM Products
WHERE NOT REGEXP('[0-9]+', ProductName);