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

MySQL में SUBSTRING_INDEX का उपयोग करके विशिष्ट वर्ण के बाद कॉलम मान को विभाजित करना

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 पथ निकालने, और संरचित स्ट्रिंग डेटा को विभाजित करने के लिए बहुत उपयोगी है।

  1. - विशिष्ट कॉलम मानों के लिए एकल MySQL क्वेरी में एकाधिक काउंट प्राप्त करें

    इसके लिए, आप विशिष्ट कॉलम के लिए पैरामीटर मान के साथ एग्रीगेट फंक्शन SUM() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1790 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Score int ); Query OK, 0 rows affected (0.94 sec) इन्सर्ट कमा

  1. - MySQL में SELECT क्वेरी से विशिष्ट कॉलम रिकॉर्ड कैसे प्राप्त करें?

    MySQL में किसी टेबल से केवल विशिष्ट कॉलम के डेटा को प्राप्त करना बहुत आसान है। इसके लिए SELECT * के बजाय केवल उस कॉलम का नाम लिखें जिसे आप देखना चाहते हैं। उदाहरण के साथ समझें सबसे पहले एक डेमो टेबल बनाते हैं: mysql> CREATE TABLE DemoTable1837 ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY

  1. - MySQL में SUBSTRING_INDEX से हाइफ़न से पहले का टेक्स्ट प्राप्त करें

    SUBSTRING_INDEX(str, delim, count) फ़ंक्शन स्ट्रिंग को डिलीमीटर से विभाजित करके निर्दिष्ट भाग लौटाता है। धनात्मक count बाएं से, ऋणात्मक दाएं से गिनता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1857 (Name VARCHAR(50)); डेटा डालें mysql> INSERT INTO DemoTable1857 VALUES(John-Smith); mysql>