MySQL REGEXP ऑपरेटर का उपयोग करके SELECT क्वेरी में नियमित अभिव्यक्ति पैटर्न मिलान करें।
सिंटैक्स
SELECT column FROM table WHERE column REGEXP 'pattern';
टेबल बनाएं
mysql> CREATE TABLE DemoTable1892 (FirstName VARCHAR(20));
डेटा डालें
mysql> INSERT INTO DemoTable1892 VALUES('John'), ('Adam'), ('Jace'), ('Johny'), ('Johnson'), ('Jack');
'Jo' से शुरू होने वाले नाम खोजें
mysql> SELECT FirstName FROM DemoTable1892 WHERE FirstName REGEXP '^Jo';
आउटपुट:
+-----------+ | FirstName | +-----------+ | John | | Johny | | Johnson | +-----------+
सामान्य REGEXP पैटर्न
| पैटर्न | अर्थ |
|---|---|
^Jo | 'Jo' से शुरू |
son$ | 'son' से समाप्त |
^J.*n$ | 'J' से शुरू, 'n' से समाप्त |
[aeiou] | कोई स्वर |
[0-9] | कोई अंक |
MySQL 8.0+ उन्नत फ़ंक्शन
REGEXP_LIKE(col, pattern)- बूलियन परिणाम (WHERE में उपयोगी)।REGEXP_SUBSTR(col, pattern)- मिलान भाग निकालें।REGEXP_REPLACE(col, pattern, repl)- मिलान प्रतिस्थापित करें।REGEXP_INSTR(col, pattern)- मिलान स्थिति।
नोट
REGEXPडिफ़ॉल्ट कोलेशन अनुसार केस-इनसेंसिटिव। केस-सेंसिटिव:REGEXP BINARY।- इंडेक्स उपयोग नहीं कर सकता (फुलटेक्स्ट या जनरेटेड कॉलम इंडेक्स विकल्प)।
- बड़े डेटा पर धीमा; सरल पैटर्न के लिए
LIKEप्राथमिकता दें।