MySQL में SUBSTRING_INDEX() फ़ंक्शन का उपयोग करके किसी विशिष्ट विभाजक वर्ण के बाद का भाग निकालें।
सिंटैक्स
SELECT SUBSTRING_INDEX(yourColumnName, '-', -1) AS anyAliasName FROM yourTableName;
पैरामीटर: तीसरा पैरामीटर -1 का अर्थ है अंतिम घटना के बाद का सबस्ट्रिंग लौटाएं। धनात्मक मान (जैसे 1) पहली घटना से पहले का भाग लौटाता है।
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
-> StreetName TEXT
-> );
Query OK, 0 rows affected (0.60 sec)
mysql> INSERT INTO DemoTable VALUES
-> ('Paris Hill St.-CA-83745646'),
-> ('502 South Armstrong Street-9948443');
मौजूदा डेटा देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+------------------------------------+ | StreetName | +------------------------------------+ | Paris Hill St.-CA-83745646 | | 502 South Armstrong Street-9948443 | +------------------------------------+ 2 rows in set (0.00 sec)
अंतिम हाइफन (-) के बाद का भाग निकालना
mysql> SELECT SUBSTRING_INDEX(StreetName, '-', -1) AS Split FROM DemoTable;
आउटपुट
+----------+ | Split | +----------+ | 83745646 | | 9948443 | +----------+ 2 rows in set (0.00 sec)
अतिरिक्त उदाहरण:
SUBSTRING_INDEX('a-b-c-d', '-', 2)→'a-b'(दूसरे हाइफन तक)SUBSTRING_INDEX('a-b-c-d', '-', -2)→'c-d'(दूसरे अंतिम हाइफन के बाद)SUBSTRING_INDEX(SUBSTRING_INDEX(col, '-', 2), '-', -1)→ दूसरा खंड ('b')
यह फ़ंक्शन CSV पार्सिंग, URL पथ निकालने, और संरचित स्ट्रिंग डेटा को विभाजित करने के लिए बहुत उपयोगी है।