MySQL में SUBSTRING_INDEX() फंक्शन से स्ट्रिंग का पहला (या अंतिम) शब्द निकालना
सिंटैक्स:
-- पहला शब्द (स्पेस सेपरेटर) SELECT SUBSTRING_INDEX(yourColumnName, ' ', 1) AS anyVariableName FROM yourTableName; -- अंतिम शब्द SELECT SUBSTRING_INDEX(yourColumnName, ' ', -1) AS anyVariableName FROM yourTableName;
पैरामीटर समझाए:
str: स्रोत स्ट्रिंग' ': डेलिमीटर (स्पेस)1: पहले डेलिमीटर से पहले का भाग (पहला शब्द)-1: अंतिम डेलिमीटर के बाद का भाग (अंतिम शब्द)
व्यावहारिक उदाहरण
1. टेबल बनाएं:
mysql> CREATE TABLE FirstWordDemo (AllWords LONGTEXT); Query OK, 0 rows affected (0.83 sec)
2. वाक्य डालें:
mysql> INSERT INTO FirstWordDemo VALUES('This is the first MySQL Query');
mysql> INSERT INTO FirstWordDemo VALUES('MySQL is a Relational Database');
mysql> INSERT INTO FirstWordDemo VALUES('FirstWord is not correct');
3. सभी रिकॉर्ड:
+--------------------------------+ | AllWords | +--------------------------------+ | This is the first MySQL Query | | MySQL is a Relational Database | | FirstWord is not correct | +--------------------------------+ 3 rows in set (0.00 sec)
4. पहला शब्द निकालें:
mysql> SELECT SUBSTRING_INDEX(AllWords, ' ', 1) AS MyFirstWordResult
-> FROM FirstWordDemo;
+-------------------+ | MyFirstWordResult | +-------------------+ | This | | MySQL | | FirstWord | +-------------------+ 3 rows in set (0.00 sec)
उन्नत: N-वां शब्द निकालना
MySQL में सीधा फंक्शन नहीं है, लेकिन संयोजन से संभव:
-- दूसरा शब्द SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(str, ' ', 2), ' ', -1); -- तीसरा शब्द SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(str, ' ', 3), ' ', -1);
अन्य सेपरेटर के लिए:
-- कॉमा सेपरेटेड: पहला आइटम SELECT SUBSTRING_INDEX(csv_column, ',', 1); -- पाइप सेपरेटेड: अंतिम आइटम SELECT SUBSTRING_INDEX(pipe_column, '|', -1);
संबंधित फंक्शन:
| फंक्शन | उपयोग |
|---|---|
SUBSTRING_INDEX(str, delim, count) | डेलिमीटर घटनाओं के आधार पर भाग निकालें |
SUBSTR(str, pos, len) | स्थिति/लंबाई आधारित |
TRIM() | अग्रणी/अनुगामी स्पेस हटाएं |
REPLACE(str, 'old', 'new') | सेपरेटर बदलें |
चेतावनी:
- अग्रणी/अनुगामी स्पेस परिणाम प्रभावित कर सकते हैं —
TRIM()पहले उपयोग करें - एकाधिक लगातार स्पेस खाली "शब्द" बना सकते हैं
- मल्टीबाइट कैरेक्टर के लिए बाइट-आधारित फंक्शन व्यवहार भिन्न हो सकता है