Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में SUBSTRING_INDEX() से फील्ड का पहला शब्द निकालें

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() पहले उपयोग करें
  • एकाधिक लगातार स्पेस खाली "शब्द" बना सकते हैं
  • मल्टीबाइट कैरेक्टर के लिए बाइट-आधारित फंक्शन व्यवहार भिन्न हो सकता है
  1. - MySQL में स्टोर्ड प्राइस से 20% टैक्स कैसे हटाएं?

    UPDATE से प्राइस में से सेल्स टैक्स हटाना जब स्टोर्ड प्राइस में 20% सेल्स टैक्स शामिल हो, तो मूल प्राइस निकालने के लिए 1.2 से विभाजित करें (क्योंकि 100% + 20% = 120% = 1.2)। टेबल बनाना और डेटा इन्सर्ट करना CREATE TABLE DemoTable (Price INT); INSERT INTO DemoTable VALUES(20); INSERT INTO DemoTable

  1. - MySQL में टेक्स्ट फील्ड से केवल नंबर कैसे निकालें

    REPLACE() फंक्शन के साथ टेक्स्ट से नंबर निकालना टेक्स्ट फील्ड से नॉन-न्यूमेरिक कैरेक्टर्स को हटाकर केवल नंबर प्राप्त करने के लिए नेस्टेड REPLACE() फंक्शन्स का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( Number TEXT ); रिकॉर्ड्स इन्सर्ट करें: mysql> INSERT INTO D

  1. - MySQL में फ़ील्ड मान से कॉमा की गिनती करना

    LENGTH और REPLACE से वर्ण गिनती किसी वर्ण (जैसे कॉमा) की घटनाएँ गिनने के लिए: कुल लंबाई - उस वर्ण को हटाने के बाद की लंबाई। सिंटैक्स SELECT LENGTH(col) - LENGTH(REPLACE(col, ,, )) AS comma_count FROM table; तालिका और डेटा INSERT INTO DemoTable1510 VALUES(20,35), (45,67,89), (90,97,101,190); कॉ