समस्या:
आप किसी दिए गए कॉलम में टेक्स्ट से सबस्ट्रिंग निकालना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में web_address
कॉलम में डेटा के साथ id
और address
. हम 'www.
. को हटाना चाहते हैं ' शुरुआत में और '.com
प्रत्येक address
. के अंत में ।
आईडी | <थ>पता|
---|---|
1 | www.example.com |
2 | www.google.com |
3 | www.learnsql.com |
समाधान 1:
पहले 4 अक्षर हटाने के लिए:
SELECT SUBSTR(address, 5, LENGTH(address) -4) AS substring FROM web_address;
अंतिम 4 वर्ण निकालने के लिए:
SELECT SUBSTR(address, 1, LENGTH(address) -4) AS substring FROM web_address;
पहले 4 वर्ण और अंतिम 4 वर्ण निकालने के लिए:
SELECT SUBSTR(address, 5, LENGTH(address) -8) AS substring FROM web_address;
समाधान 2:
पहले 4 अक्षर हटाने के लिए:
SELECT SUBSTRING(address, 5, LENGTH(address)) AS substring FROM web_address;
अंतिम 4 वर्ण निकालने के लिए:
SELECT SUBSTRING(address, 1, LENGTH(address) -4) AS substring FROM web_address;
पहले 4 वर्ण और अंतिम 4 वर्ण निकालने के लिए:
SELECT SUBSTRING(address, 5, LENGTH(address) -8) AS substring FROM web_address;
समाधान 3:
दूसरे '.' से पहले के सभी वर्णों को दाईं ओर से हटाने के लिए:
SELECT SUBSTRING_INDEX(address, '.', -2) AS substring FROM web_address;
दूसरे '.' के बाद बाईं ओर से सभी वर्णों को हटाने के लिए:
SELECT SUBSTRING_INDEX(address, '.', 2) AS substring FROM web_address;
बाईं ओर से दूसरे '.' के बाद के सभी वर्णों को हटाने के लिए, फिर दाईं ओर से पहले '.' से पहले के सभी वर्णों को हटा दें:
SELECT SUBSTRING_INDEX( SUBSTRING_INDEX(address, '.', 2), '.', -1 ) AS substring FROM web_address;
नतीजा यह है:
सबस्ट्रिंग |
---|
उदाहरण |
गूगल |
सीखें |
चर्चा:
पहला और दूसरा समाधान दोनों SUBSTR()
के साथ टेक्स्ट से एक निर्दिष्ट संख्या में वर्णों को हटाते हैं या SUBSTRING()
समारोह। SUBSTR()
SUBSTRING()
. का पर्यायवाची है . दोनों को तर्क के रूप में स्ट्रिंग और प्रारंभिक स्थिति की आवश्यकता होती है। अंतिम तर्क, जो निकालने के लिए वर्णों की संख्या को परिभाषित करता है, वैकल्पिक है। यदि अंतिम तर्क छोड़ दिया जाता है, तो पूरी स्ट्रिंग (शुरुआती बिंदु से) वापस आ जाएगी।
तीसरे समाधान में, SUBSTRING_INDEX()
फ़ंक्शन निर्दिष्ट वर्णों से पहले या बाद में टेक्स्ट को हटा देता है। इसे तर्क के रूप में स्ट्रिंग, वर्ण, और चरित्र के कितने उदाहरणों का सामना करना चाहिए जहां पाठ निष्कर्षण शुरू होता है।