MySQL में REGEXP ऑपरेटर का उपयोग करके उन रिकॉर्ड को चुनें जिनमें कम से कम एक गैर-संख्यात्मक वर्ण हो (यानी केवल संख्याओं वाले मानों को बाहर करें)।
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
-> ClientCode VARCHAR(100)
-> );
Query OK, 0 rows affected (0.56 sec)
mysql> INSERT INTO DemoTable VALUES
-> ('Chris902'), ('Robert_'), ('903'), ('123_David');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+------------+ | ClientCode | +------------+ | Chris902 | | Robert_ | | 903 | | 123_David | +------------+ 4 rows in set (0.00 sec)
कम से कम एक गैर-अंक वर्ण वाले रिकॉर्ड चुनना
mysql> SELECT * FROM DemoTable WHERE ClientCode REGEXP '.*[^0-9].*';
आउटपुट
+------------+ | ClientCode | +------------+ | Chris902 | | Robert_ | | 123_David | +------------+ 3 rows in set (0.04 sec)
पैटर्न व्याख्या:
.*- कोई भी वर्ण, शून्य या अधिक बार[^0-9]- कोई भी वर्ण जो अंक (0-9) नहीं है.*- कोई भी वर्ण, शून्य या अधिक बार- कुल मिलाकर: "कम से कम एक गैर-अंक वर्ण वाला स्ट्रिंग"
परिणाम: '903' (केवल अंक) बाहर हो गया। बाकी सभी में अक्षर या अंडरस्कोर है।
वैकल्पिक पैटर्न:
REGEXP '[^0-9]'- सरल संस्करण (कोई भी गैर-अंक वर्ण)NOT REGEXP '^[0-9]+$'- "केवल अंकों से नहीं मिलकर बना" (एंकर के साथ)REGEXP '[A-Za-z]'- कम से कम एक अक्षर
नोट: MySQL 8.0+ में REGEXP_LIKE() फ़ंक्शन भी उपलब्ध है।