MySQL में किसी स्ट्रिंग को विभाजित करके अंतिम शब्द निकालने के लिए SUBSTRING_INDEX() फ़ंक्शन का उपयोग करें। यह फ़ंक्शन एक डिलीमीटर के आधार पर स्ट्रिंग को भागों में बांटता है और निर्दिष्ट घटना से पहले या बाद का भाग लौटाता है।
सिंटैक्स
SUBSTRING_INDEX(str, delim, count)
- str - स्रोत स्ट्रिंग
- delim - डिलीमीटर (विभाजक)
- count - सकारात्मक: डिलीमीटर के बाएं का भाग; ऋणात्मक: डिलीमीटर के दाएं का भाग
व्यावहारिक उदाहरण
पहले एक टेबल बनाएं और डेटा डालें:
mysql> CREATE TABLE DemoTable (Words TEXT);
mysql> INSERT INTO DemoTable VALUES('Learn With Ease');
mysql> INSERT INTO DemoTable VALUES('Intro To MySQL');
mysql> INSERT INTO DemoTable VALUES('Deep Dive Using Java');
mysql> INSERT INTO DemoTable VALUES('C++ In Depth');
सभी रिकॉर्ड देखें:
mysql> SELECT * FROM DemoTable;
+-----------------------+ | Words | +-----------------------+ | Learn With Ease | | Intro To MySQL | | Deep Dive Using Java | | C++ In Depth | +-----------------------+
अंतिम शब्द निकालने के लिए क्वेरी
स्पेस (' ') को डिलीमीटर के रूप में उपयोग करके अंतिम शब्द प्राप्त करें:
mysql> UPDATE DemoTable SET Words = SUBSTRING_INDEX(Words, ' ', -1);
परिणाम जांचें:
mysql> SELECT * FROM DemoTable;
+----------+ | Words | +----------+ | Ease | | MySQL | | Java | | Depth | +----------+
महत्वपूर्ण नोट्स
count = -1का अर्थ है अंतिम डिलीमीटर के दाएं का भाग- यह क्वेरी सभी पंक्तियों को अपडेट करती है - WHERE क्लॉज जोड़कर विशिष्ट पंक्तियों को लक्षित करें
- मूल डेटा स्थायी रूप से बदल जाता है; बैकअप लें या SELECT में उपयोग करें
केवल SELECT के लिए (डेटा बदले बिना)
SELECT SUBSTRING_INDEX(Words, ' ', -1) AS LastWord FROM DemoTable;
यह तरीका CSV डेटा, पूरे नाम, यूआरएल पथ आदि से अंतिम भाग निकालने के लिए बहुत उपयोगी है।