REGEXP से स्पेशल कैरेक्टर खोजें
MySQL में उन स्ट्रिंग को खोजने के लिए जिनमें स्पेशल कैरेक्टर (अक्षर-अंक के अलावा) हों, REGEXP ऑपरेटर का उपयोग करें।
सिंटैक्स
SELECT * FROM yourTableName WHERE yourColumnName REGEXP '[^a-zA-Z0-9]';
उदाहरण
टेबल बनाएं:
mysql> CREATE TABLE specialCharactersDemo (
-> StudentId VARCHAR(100)
-> );
डेटा इन्सर्ट करें:
mysql> INSERT INTO specialCharactersDemo VALUES('STU_1234');
mysql> INSERT INTO specialCharactersDemo VALUES('STU567');
mysql> INSERT INTO specialCharactersDemo VALUES('STU#1234');
mysql> INSERT INTO specialCharactersDemo VALUES('STU897$');
mysql> INSERT INTO specialCharactersDemo VALUES('STU999');
mysql> INSERT INTO specialCharactersDemo VALUES('STU1010');
सभी रिकॉर्ड:
+-----------+ | StudentId | +-----------+ | STU_1234 | | STU567 | | STU#1234 | | STU897$ | | STU999 | | STU1010 | +-----------+
स्पेशल कैरेक्टर वाली पंक्तियाँ खोजने की क्वेरी
mysql> SELECT * FROM specialCharactersDemo WHERE StudentId REGEXP '[^a-zA-Z0-9]';
परिणाम:
+-----------+ | StudentId | +-----------+ | STU_1234 | | STU#1234 | | STU897$ | +-----------+
वैकल्पिक सिंटैक्स (POSIX कैरेक्टर क्लास)
mysql> SELECT * FROM specialCharactersDemo WHERE StudentId REGEXP '[^[:alnum:]]';
यह समान परिणाम देता है। [:alnum:] का मतलब है सभी अक्षर और अंक (a-z, A-Z, 0-9)।
पैटर्न व्याख्या:
[^...]- नेगेटेड कैरेक्टर क्लास (इनके अलावा)a-zA-Z0-9- सभी अंग्रेजी अक्षर और अंक[:alnum:]- POSIX शॉर्टहैंड अल्फान्यूमेरिक के लिए
नोट: डिफ़ॉल्ट रूप से REGEXP केस-इनसेंसिटिव होता है। केस-सेंसिटिव खोज के लिए REGEXP BINARY उपयोग करें।