MySQL में REGEXP ऑपरेटर का उपयोग करके किसी स्ट्रिंग कॉलम में अंक (0-9) वाले रिकॉर्ड खोज सकते हैं।
सिंटैक्स
SELECT * FROM yourTableName WHERE yourColumnName REGEXP '[0-9]';
टेबल बनाएं और डेटा डालें
mysql> CREATE TABLE DemoTable1841 (Code VARCHAR(20));
mysql> INSERT INTO DemoTable1841 VALUES('John231');
mysql> INSERT INTO DemoTable1841 VALUES('19876Sam');
mysql> INSERT INTO DemoTable1841 VALUES('Carol');
mysql> INSERT INTO DemoTable1841 VALUES('67474');
अंक वाले रिकॉर्ड खोजें
mysql> SELECT * FROM DemoTable1841 WHERE Code REGEXP '[0-9]';
आउटपुट:
+----------+ | Code | +----------+ | John231 | | 19876Sam | | 67474 | +----------+
Carol में कोई अंक नहीं है, इसलिए बाहर है।
अन्य उपयोगी REGEXP पैटर्न
| पैटर्न | अर्थ |
|---|---|
| कोई एक अंक | |
| एक या अधिक अंक | |
| केवल अंक (पूरी स्ट्रिंग) | |
| ठीक 3 अंक | |
| 2 से 4 अंक |
नोट
- MySQL 8.0
REGEXP_REPLACE(),REGEXP_SUBSTR(),REGEXP_INSTR()भी सपोर्ट करता है। REGEXPकेस-इनसेंसिटिव है (डिफ़ॉल्ट कोलेशन के अनुसार)। केस-सेंसिटिव के लिएREGEXP BINARYउपयोग करें।- बड़े डेटासेट पर
REGEXPधीमा हो सकता है; फुलटेक्स्ट या प्रीफिक्स इंडेक्स पर विचार करें।