Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में एक सबस्ट्रिंग कैसे निकालें

समस्या:

आप किसी दिए गए कॉलम में टेक्स्ट से सबस्ट्रिंग निकालना चाहते हैं।

उदाहरण:

हमारे डेटाबेस में 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() फ़ंक्शन निर्दिष्ट वर्णों से पहले या बाद में टेक्स्ट को हटा देता है। इसे तर्क के रूप में स्ट्रिंग, वर्ण, और चरित्र के कितने उदाहरणों का सामना करना चाहिए जहां पाठ निष्कर्षण शुरू होता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में भूमिकाओं के साथ विशेषाधिकार कैसे प्रबंधित करें

  2. कॉलम नाम पाने के लिए MySQL क्वेरी?

  3. मैं MySQL पर SQL केस संवेदनशील स्ट्रिंग तुलना कैसे कर सकता हूं?

  4. MySQL - डेटाबेस कैरेक्टर सेट एन्कोडिंग और कोलेशन समझाया गया

  5. MySQL कार्यक्षेत्र:क्वेरी में त्रुटि (1064):लाइन 1 पर 'दृश्यमान' के पास सिंटैक्स त्रुटि