MySQL 8.0 में REGEXP_REPLACE() फ़ंक्शन का उपयोग करके स्ट्रिंग से संख्याओं को हटाकर केवल अक्षर और स्लैश (/) रख सकते हैं।
सिंटैक्स
REGEXP_REPLACE(स्ट्रिंग, पैटर्न, प्रतिस्थापन)
उदाहरण
1. टेबल बनाएं
mysql> CREATE TABLE DemoTable1595 (StudentCode VARCHAR(50));
2. डेटा डालें
mysql> INSERT INTO DemoTable1595 VALUES('200 John');
mysql> INSERT INTO DemoTable1595 VALUES('101 Carol/400 Taylor');
mysql> INSERT INTO DemoTable1595 VALUES('101 302 405 Sam/9870');
3. REGEXP_REPLACE क्वेरी
mysql> SELECT REGEXP_REPLACE(StudentCode, ' *[0-9]+([.,][0-9]+)?(/[0-9]+([.,][0-9]+)?)? *', '')
-> AS `GetOnlyStringand/` FROM DemoTable1595;
4. परिणाम
+-------------------+ | GetOnlyStringand/ | +-------------------+ | John | | Carol/Taylor | | Sam/ | +-------------------+
पैटर्न विश्लेषण
' *[0-9]+([.,][0-9]+)?(/[0-9]+([.,][0-9]+)?)? *'
| भाग | अर्थ |
|---|---|
* | वैकल्पिक अग्रणी स्पेस |
[0-9]+ | एक या अधिक अंक |
([.,][0-9]+)? | वैकल्पिक दशमलव भाग |
(/[0-9]+([.,][0-9]+)?)? | वैकल्पिक स्लैश+संख्या |
* | वैकल्पिक अनुगामी स्पेस |
सरल पैटर्न (केवल पूर्णांक हटाने के लिए)
REGEXP_REPLACE(StudentCode, '[0-9]+', '')
परिणाम: ' John', ' Carol/ Taylor', ' Sam/' (स्पेस बचे रहेंगे)
संस्करण आवश्यकता
REGEXP_REPLACEMySQL 8.0.4+ में उपलब्ध- पुराने संस्करण: एप्लिकेशन लेवल पर प्रोसेस करें या UDF उपयोग करें
संबंधित फ़ंक्शन (MySQL 8.0+)
REGEXP_LIKE(expr, pat)- बूलियन मिलानREGEXP_SUBSTR(expr, pat)- मिला हुआ भाग निकालेंREGEXP_INSTR(expr, pat)- मिलान स्थिति
उपयोग के मामले
- डेटा सफाई: मिश्रित कोड से वर्णनात्मक भाग निकालना
- ETL परिवर्तन
- रिपोर्टिंग के लिए डेटा सामान्यीकरण