Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में REGEXP BINARY का उपयोग करके बड़े अक्षर (कैपिटल लेटर) ढूंढना

समाधान: 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');

डेटा

StudentIdStudentFirstName
1JOHN
2Carol
3bob
4carol
5John

क्वेरी: कम से कम 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() फ़ंक्शन भी उपलब्ध

सामान्य पैटर्न


            
  1. MySQL में विशिष्ट कॉलम नाम वाली टेबल कैसे खोजें MySQL में विशिष्ट कॉलम नाम वाली टेबल कैसे खोजें

    information_schema.columns टेबल को क्वेरी करके डेटाबेस में विशिष्ट कॉलम नाम वाली सभी टेबल खोजें। सिंटैक्स SELECT DISTINCT table_name FROM information_schema.columns WHERE column_name LIKE %yourSearchValue% AND table_schema = DATABASE(); उदाहरण: Client वाली कॉलम खोजना SELECT DISTINCT table_name FR

  1. JDBC के साथ MySQL में बैकस्लैश को कैसे एस्केप करें? JDBC के साथ MySQL में बैकस्लैश को कैसे एस्केप करें?

    MySQL में JDBC का उपयोग करते समय बैकस्लैश (`\`) जैसे विशेष वर्णों को संभालने का सबसे सुरक्षित और अनुशंसित तरीका **PreparedStatement** का उपयोग करना है। यह SQL इंजेक्शन को रोकता है और स्वचालित रूप से एस्केप सीक्वेंस को सही ढंग से संभालता है। उदाहरण: PreparedStatement के साथ बैकस्लैश हैंडलिंग सबसे प

  1. - MySQL कंस्ट्रेंट्स को कैसे संभालता है?

    आइए समझते हैं कि MySQL कंस्ट्रेंट्स को कैसे संभालता है: MySQL हमें ट्रांजैक्शनल टेबल्स (जो रोलबैक की अनुमति देते हैं) और नॉन-ट्रांजैक्शनल टेबल्स (जो रोलबैक की अनुमति नहीं देते) के साथ काम करने में मदद करता है। यही कारण है कि अन्य DBMS की तुलना में MySQL में कंस्ट्रेंट्स को संभालना अलग है। नॉन-ट्रा