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

MySQL में REGEXP का उपयोग करके डॉट और संख्या वाले रिकॉर्ड कैसे प्राप्त करें?

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

उदाहरण

तालिका बनाएं:

mysql> CREATE TABLE DemoTable (Version VARCHAR(20));
mysql> INSERT INTO DemoTable VALUES ('1.0.0'), ('2.s6.9'), ('1.5.0');

डेटा

+---------+
| Version |
+---------+
| 1.0.0   |
| 2.s6.9  |
| 1.5.0   |
+---------+

क्वेरी: केवल संख्या और डॉट वाले संस्करण (कोई अक्षर नहीं)

mysql> SELECT * FROM DemoTable
    ->> WHERE Version REGEXP '^[0-9]+\\.[0-9]+(\\.[0-9]+)*$';

परिणाम

+---------+
| Version |
+---------+
| 1.0.0   |
| 1.5.0   |
+---------+

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

भागअर्थ
^स्ट्रिंग शुरुआत
[0-9]+एक या अधिक अंक
\\.शाब्दिक डॉट
(\\.[0-9]+)*डॉट+अंक का समूह, शून्य या अधिक बार
$स्ट्रिंग अंत

पैटर्न विविधताएं

  • '^[0-9]+\\.[0-9]+$' - ठीक एक डॉट (1.0)
  • '^[0-9]+(\\.[0-9]+){2}$' - ठीक दो डॉट (1.0.0)
  • '^[0-9]+(\\.[0-9]+)+$' - कम से कम एक डॉट
  • '^v?[0-9]+\\.[0-9]+(\\.[0-9]+)?$' - वैकल्पिक 'v' प्रीफिक्स

REGEXP vs LIKE

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

  1. - MySQL में स्ट्रिंग कॉलम (स्ट्रिंग, संख्या, विशेष वर्ण) से विशिष्ट रिकॉर्ड प्राप्त करें

    CAST और SUBSTRING से संख्यात्मक भाग अनुसार क्रमबद्ध करें John_12, Chris_101 जैसे स्ट्रिंग कॉलम से संख्यात्मक भाग निकालकर क्रमबद्ध करें और विशिष्ट रिकॉर्ड प्राप्त करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable2006 ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserCode varchar(20

  1. - MySQL REGEXP: केवल स्ट्रिंग या स्ट्रिंग+नंबर वाले रिकॉर्ड दिखाएँ, केवल नंबर वाले नहीं

    REGEXP पैटर्न कम से कम एक अक्षर (a-z या A-Z) वाले रिकॉर्ड के लिए: select yourColumnName from yourTableName where yourColumnName REGEXP [a-zA-Z]; उदाहरण insert into demo41 values(John Smith34), (John Smith), (9234John Smith), (john smith), (98775); क्वेरी और परिणाम select name from demo41 where

  1. - MySQL REGEXP: विशिष्ट संख्या से शुरू होने वाले स्ट्रिंग+नंबर रिकॉर्ड प्राप्त करें

    REGEXP पैटर्न Select yourColumnName1, yourColumnName2 from yourTableName where yourColumnName2 REGEXP ^yourStringValue[yourNumericValue]; उदाहरण: John से शुरू और फिर 5 या 6 insert into demo45(value) values(John500), (John1500), (John5500), (John6500), (John8600); क्वेरी: ^John[56] select id,val

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
विशेषताLIKEREGEXP
पैटर्न शक्तिसरल वाइल्डकार्डपूर्ण रेगुलर एक्सप्रेशन
डॉट मिलानकिसी भी वर्ण (वाइल्डकार्ड)शाब्दिक डॉट (एस्केप के साथ)
प्रदर्शनतेज़ (इंडेक्स उपयोग संभव)धीमा (पूर्ण स्कैन)
केस संवेदनशीलताकोलेशन पर निर्भरडिफ़ॉल्ट केस-असंवेदनशील