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

MySQL टेबल में सभी अपरकेस स्ट्रिंग्स कैसे खोजें?


BINARY UPPER() फंक्शन का उपयोग करें

केस-सेंसिटिव तुलना के लिए BINARY कीवर्ड के साथ UPPER() का उपयोग करके केवल पूरी तरह से अपरकेस स्ट्रिंग वाली पंक्तियाँ खोजें।

सिंटैक्स

SELECT * FROM yourTableName 
WHERE yourColumnName = BINARY UPPER(yourColumnName);

व्यावहारिक उदाहरण

टेबल बनाना

mysql> CREATE TABLE FindUpperCaseDemo (
    Id INT,
    FirstName VARCHAR(20),
    Age INT
);

मिश्रित केस डेटा डालना

mysql> INSERT INTO FindUpperCaseDemo VALUES(1, 'John', 23);
mysql> INSERT INTO FindUpperCaseDemo VALUES(2, 'CAROL', 21);
mysql> INSERT INTO FindUpperCaseDemo VALUES(3, 'JoHN', 23);
mysql> INSERT INTO FindUpperCaseDemo VALUES(4, 'JOHN', 26);
mysql> INSERT INTO FindUpperCaseDemo VALUES(5, 'sAM', 26);
mysql> INSERT INTO FindUpperCaseDemo VALUES(6, 'SAM', 28);
mysql> INSERT INTO FindUpperCaseDemo VALUES(7, 'MIKE', 29);
mysql> INSERT INTO FindUpperCaseDemo VALUES(8, 'BOB', 20);
mysql> INSERT INTO FindUpperCaseDemo VALUES(9, 'LARRY', 22);
mysql> INSERT INTO FindUpperCaseDemo VALUES(10, 'LARRy', 22);

सभी रिकॉर्ड

+------+-----------+------+
| Id   | FirstName | Age  |
+------+-----------+------+
|    1 | John      |   23 |
|    2 | CAROL     |   21 |
|    3 | JoHN      |   23 |
|    4 | JOHN      |   26 |
|    5 | sAM       |   26 |
|    6 | SAM       |   28 |
|    7 | MIKE      |   29 |
|    8 | BOB       |   20 |
|    9 | LARRY     |   22 |
|   10 | LARRy     |   22 |
+------+-----------+------+

क्वेरी: केवल पूरी तरह से अपरकेस नाम

mysql> SELECT * FROM FindUpperCaseDemo 
WHERE FirstName = BINARY UPPER(FirstName);

आउटपुट

+------+-----------+------+
| Id   | FirstName | Age  |
+------+-----------+------+
|    2 | CAROL     |   21 |
|    4 | JOHN      |   26 |
|    6 | SAM       |   28 |
|    7 | MIKE      |   29 |
|    8 | BOB       |   20 |
|    9 | LARRY     |   22 |
+------+-----------+------+

व्याख्या

  • UPPER(FirstName) — स्ट्रिंग को अपरकेस में बदलता है।
  • BINARY — तुलना को केस-सेंसिटिव (बाइनरी तुलना) बनाता है।
  • FirstName = BINARY UPPER(FirstName) — केवल तभी सच होता है जब मूल मान पहले से ही पूरी तरह से अपरकेस हो।

विकल्प: REGEXP

SELECT * FROM FindUpperCaseDemo 
WHERE FirstName REGEXP '^[A-Z]+$';

मुख्य बिंदु

  • डिफ़ॉल्ट रूप से MySQL तुलना केस-इनसेंसिटिव होती है (कोलेशन पर निर्भर)।
  • BINARY बाइट-दर-बाइट तुलना बाध्य करता है।
  • बड़े टेबल पर प्रदर्शन के लिए, एक जनरेटेड कॉलम या फंक्शनल इंडेक्स पर विचार करें।
  1. - MySQL में REPLACE() फंक्शन का उपयोग करके वर्ण कैसे बदलें?

    MySQL में REPLACE() फ़ंक्शन का उपयोग करके किसी स्ट्रिंग में सभी घटनाओं को दूसरे स्ट्रिंग से बदला जा सकता है। यह टाइपो सुधार, डेटा सफाई के लिए उपयोगी है। सिंटैक्स REPLACE(column_name, old_string, new_string) उदाहरण तालिका बनाएं और डेटा डालें (टाइपो के साथ): mysql> CREATE TABLE DemoTable (Name VA

  1. - MySQL टेबल को बैच अपडेट कैसे करें?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> BreakfastTime time -> ); Query OK, 0 rows affected (0.59 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(7:30:45); Query OK, 1 row affected (0.19 sec) mysql> insert i

  1. - MySQL में टेबल के अस्तित्व का पता कैसे लगाएं

    समाधान INFORMATION_SCHEMA.TABLES का उपयोग करें। सिंटैक्स SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = yourTableName; उदाहरण टेबल बनाएं: ); जांच क्वेरी WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = DemoTable2032; परिणाम +---------------+ |