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

MySQL में टेक्स्ट फील्ड से केवल नंबर कैसे निकालें

REPLACE() फंक्शन के साथ टेक्स्ट से नंबर निकालना

टेक्स्ट फील्ड से नॉन-न्यूमेरिक कैरेक्टर्स को हटाकर केवल नंबर प्राप्त करने के लिए नेस्टेड REPLACE() फंक्शन्स का उपयोग करें।

आइए पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable (
    Number TEXT
);

रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable VALUES ('7364746464,-');
mysql> INSERT INTO DemoTable VALUES ('-,8909094556');

सभी रिकॉर्ड्स देखें:

mysql> SELECT * FROM DemoTable;

आउटपुट:

+--------------+
| Number       |
+--------------+
| 7364746464,- |
| -,8909094556 |
+--------------+

टेक्स्ट फील्ड से नंबर निकालने के लिए क्वेरी (हाइफ़न, स्पेस, कोट्स, कॉमा हटाएं):

mysql> SELECT REPLACE(REPLACE(REPLACE(REPLACE(Number, '-', ''), ' ', ''), '"', ''), ',', '') AS Result
    FROM DemoTable;

आउटपुट:

+------------+
| Result     |
+------------+
| 7364746464 |
| 8909094556 |
+------------+

व्याख्या:

  • आंतरिक से बाहरी क्रम में REPLACE लागू होते हैं:
    1. REPLACE(Number, '-', '') - हाइफ़न हटाता है
    2. REPLACE(..., ' ', '') - स्पेस हटाता है
    3. REPLACE(..., '"', '') - डबल कोट्स हटाता है
    4. REPLACE(..., ',', '') - कॉमा हटाता है
  • परिणाम केवल अंक बचते हैं

बेहतर तरीका (MySQL 8.0+): REGEXP_REPLACE का उपयोग करें (यदि उपलब्ध हो):

SELECT REGEXP_REPLACE(Number, '[^0-9]', '') AS Result FROM DemoTable;

पुराने MySQL संस्करणों के लिए: एक स्टोर्ड फंक्शन बनाएं जो सभी नॉन-डिजिट कैरेक्टर्स को हटा दे।

नोट: यह तरीका केवल ज्ञात अवांछित कैरेक्टर्स के लिए काम करता है। अज्ञात कैरेक्टर्स के लिए रेगुलर एक्सप्रेशन बेहतर है।

  1. - MySQL में अल्फान्यूमेरिक स्ट्रिंग से केवल संख्या निकालकर कैसे सॉर्ट करें?

    MySQL में अल्फान्यूमेरिक स्ट्रिंग (जैसे Adam_101) के अंतिम संख्यात्मक भाग के अनुसार सॉर्ट करने के लिए, RIGHT() फंक्शन के साथ ORDER BY का उपयोग करें। यह तब काम करता है जब संख्यात्मक भाग निश्चित लंबाई का हो या अंत में हो। उदाहरण: अंतिम 3 अंकों द्वारा सॉर्ट डेमो टेबल बनाएं: mysql> CREATE TABLE De

  1. - Java में इनपुट स्ट्रिंग से नंबर कैसे निकालें?

    java.lang.String क्लास स्ट्रिंग से निपटने के लिए काफी मात्रा में मेथड्स देती है। इन मेथड्स की सहायता से, कोई स्ट्रिंग पर ऑपरेशन कर सकता है जैसे ट्रिमिंग, कंकैटनेटिंग, कन्वर्टिंग और कंपेयरिंग। हम String क्लास के replaceAll() मेथड का उपयोग करके दी गई स्ट्रिंग से नंबर निकाल सकते हैं। उदाहरण import java

  1. - पायथन रेगुलर एक्सप्रेशन का उपयोग करके टेक्स्ट से नंबर कैसे निकालें?

    यदि हम दिए गए टेक्स्ट से सभी नंबर/डिजिट्स को व्यक्तिगत रूप से निकालना चाहते हैं तो हम निम्नलिखित रेगेक्स का उपयोग करते हैं। उदाहरण import re s = 12345 abcdf 67 result = re.findall(r\d, s) print result आउटपुट [1, 2, 3, 4, 5, 6, 7] यदि हम दिए गए टेक्स्ट से नंबर/डिजिट्स के समूह निकालना चाहते हैं तो