MySQL में REGEXP से विशेष वर्ण वाले रिकॉर्ड खोजना
कॉलम में विशेष वर्ण वाले मान प्राप्त करने के लिए REGEXP ऑपरेटर का उपयोग करें।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (SubjectCode VARCHAR(100)); Query OK, 0 rows affected (0.89 sec)
mysql> INSERT INTO DemoTable VALUES('Java899@22');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable VALUES('C#');
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable VALUES('~Python232');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable VALUES('MongoDB%');
Query OK, 1 row affected (0.21 sec)
mysql> INSERT INTO DemoTable VALUES('C123456');
Query OK, 1 row affected (0.37 sec)
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
+-------------+ | SubjectCode | +-------------+ | Java899@22 | | C# | | ~Python232 | | MongoDB% | | C123456 | +-------------+ 5 rows in set (0.00 sec)
विशेष वर्ण वाले मान प्राप्त करने का क्वेरी
REGEXP '[^a-zA-Z0-9] पैटर्न उन वर्णों से मेल खाता है जो अक्षर या अंक नहीं हैं:
mysql> SELECT * FROM DemoTable WHERE SubjectCode REGEXP '[^a-zA-Z0-9]';
परिणाम
+-------------+ | SubjectCode | +-------------+ | Java899@22 | | C# | | ~Python232 | | MongoDB% | +-------------+ 4 rows in set (0.00 sec)
नोट: पैटर्न [^a-zA-Z0-9] का अर्थ है "कोई भी वर्ण जो A-Z, a-z, या 0-9 नहीं है"। C123456 केवल अक्षरों और अंकों से बना है, इसलिए यह परिणाम में शामिल नहीं है।