समाधान: REGEXP BINARY केस-सेंसिटिव मिलान के लिए
केस-सेंसिटिव तरीके से बड़े अक्षरों वाले स्ट्रिंग खोजने के लिए REGEXP BINARY का उपयोग करें।
सिंटैक्स
SELECT * FROM yourTableName
WHERE yourColumnName REGEXP BINARY '[A-Z]{2}';
व्यावहारिक उदाहरण
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE FindCapitalLettersDemo (
-> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentFirstName VARCHAR(20)
-> );
mysql> INSERT INTO FindCapitalLettersDemo(StudentFirstName) VALUES
-> ('JOHN'), ('Carol'), ('bob'), ('carol'), ('John');
डेटा
| StudentId | StudentFirstName |
| 1 | JOHN |
| 2 | Carol |
| 3 | bob |
| 4 | carol |
| 5 | John |
क्वेरी: कम से कम 2 लगातार बड़े अक्षर वाले नाम
mysql> SELECT * FROM FindCapitalLettersDemo
-> WHERE StudentFirstName REGEXP BINARY '[A-Z]{2}';
परिणाम
+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
| 1 | JOHN |
+-----------+------------------+
पैटर्न व्याख्या
| पैटर्न | अर्थ | मिलान उदाहरण |
| [A-Z] | कोई एक बड़ा अक्षर | J, A, Z |
| [A-Z]{2} | लगातार 2 बड़े अक्षर | JO, OH, HN |
| [A-Z]+ | 1 या अधिक बड़े अक्षर | JOHN |
| ^[A-Z] | बड़े अक्षर से शुरू | John, JOHN |
| [A-Z]$ | बड़े अक्षर पर समाप्त | joHN |
BINARY कीवर्ड का महत्व
- REGEXP (बिना BINARY): केस-इनसेंसिटिव (डिफ़ॉल्ट कोलेशन पर निर्भर)
- REGEXP BINARY: केस-सेंसिटिव बाइट-दर-बाइट तुलना
- MySQL 8.0+:
REGEXP_LIKE() फ़ंक्शन भी उपलब्ध
सामान्य पैटर्न