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

MySQL में REGEXP का उपयोग करके केवल संख्याओं वाले मानों को बाहर करना

MySQL में REGEXP ऑपरेटर का उपयोग करके उन रिकॉर्ड को चुनें जिनमें कम से कम एक गैर-संख्यात्मक वर्ण हो (यानी केवल संख्याओं वाले मानों को बाहर करें)।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    -> ClientCode VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.56 sec)
mysql> INSERT INTO DemoTable VALUES
    -> ('Chris902'), ('Robert_'), ('903'), ('123_David');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट

+------------+
| ClientCode |
+------------+
| Chris902   |
| Robert_    |
| 903        |
| 123_David  |
+------------+
4 rows in set (0.00 sec)

कम से कम एक गैर-अंक वर्ण वाले रिकॉर्ड चुनना

mysql> SELECT * FROM DemoTable WHERE ClientCode REGEXP '.*[^0-9].*';

आउटपुट

+------------+
| ClientCode |
+------------+
| Chris902   |
| Robert_    |
| 123_David  |
+------------+
3 rows in set (0.04 sec)

पैटर्न व्याख्या:

  • .* - कोई भी वर्ण, शून्य या अधिक बार
  • [^0-9] - कोई भी वर्ण जो अंक (0-9) नहीं है
  • .* - कोई भी वर्ण, शून्य या अधिक बार
  • कुल मिलाकर: "कम से कम एक गैर-अंक वर्ण वाला स्ट्रिंग"

परिणाम: '903' (केवल अंक) बाहर हो गया। बाकी सभी में अक्षर या अंडरस्कोर है।

वैकल्पिक पैटर्न:

  • REGEXP '[^0-9]' - सरल संस्करण (कोई भी गैर-अंक वर्ण)
  • NOT REGEXP '^[0-9]+$' - "केवल अंकों से नहीं मिलकर बना" (एंकर के साथ)
  • REGEXP '[A-Za-z]' - कम से कम एक अक्षर

नोट: MySQL 8.0+ में REGEXP_LIKE() फ़ंक्शन भी उपलब्ध है।

  1. - MySQL में केवल एक कॉलम मान को कैसे अपडेट करें?

    MySQL में UPDATE स्टेटमेंट का उपयोग करके किसी विशिष्ट शर्त के आधार पर केवल एक कॉलम का मान बदला जा सकता है, जबकि अन्य कॉलम अपरिवर्तित रहते हैं। सिंटैक्स UPDATE table_name SET column_name = new_value WHERE condition; उदाहरण छात्र तालिका बनाएं: mysql> CREATE TABLE DemoTable ( -> StudentId

  1. - MySQL क्वेरी में UNION ALL से कस्टम मान जोड़ें

    कभी-कभी क्वेरी परिणाम में एक अतिरिक्त मान जोड़ना होता है जो टेबल में नहीं है। UNION ALL का उपयोग करके एक स्थिर मान को परिणाम सेट में जोड़ा जा सकता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1847 ( GameStatus ENUM(PENDING,COMPLETED,CANCELLED) ); डेटा डालें mysql> INSERT INTO DemoTable184

  1. - MySQL में VARCHAR स्ट्रिंग से हाइफ़न के बाद की संख्याओं को कैसे हटाएं

    समाधान SUBSTRING_INDEX() फंक्शन का उपयोग करके हाइफ़न से पहले का भाग प्राप्त करें। उदाहरण टेबल बनाएं: INSERT INTO DemoTable2040 VALUES (John-232), (Carol-901), (David-987); अपडेट क्वेरी UPDATE DemoTable2040 SET StudentCode = SUBSTRING_INDEX(StudentCode, -, 1); परिणाम +-------------+ | StudentCod