MySQL में SUBSTRING_INDEX() फ़ंक्शन का उपयोग करके आप कॉमा-सेपरेटेड सूची का पहला (या कोई भी) तत्व निकाल सकते हैं।
उदाहरण तालिका बनाना
mysql> CREATE TABLE DemoTable (CSV_Value VARCHAR(200));
कॉमा-सेपरेटेड मान डालना
mysql> INSERT INTO DemoTable VALUES ('10,20,50,80'), ('100,21,51,43'), ('1,56,103,1090');
डेटा देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+---------------+ | CSV_Value | +---------------+ | 10,20,50,80 | | 100,21,51,43 | | 1,56,103,1090 | +---------------+
पहला तत्व निकालना (कॉमा से पहले)
mysql> SELECT SUBSTRING_INDEX(CSV_Value, ',', 1) AS FIRST_ELEMENT FROM DemoTable;
आउटपुट:
+---------------+ | FIRST_ELEMENT | +---------------+ | 10 | | 100 | | 1 | +---------------+
व्याख्या: SUBSTRING_INDEX(str, delim, count):
count > 0: डिलीमीटर कीcountवीं घटना से पहले का भाग लौटाता हैcount < 0: डिलीमीटर की|count|वीं घटना के बाद का भाग लौटाता है (अंत से गिनती)
अन्य उदाहरण:
- अंतिम तत्व:
SUBSTRING_INDEX(CSV_Value, ',', -1)→ 80, 43, 1090 - दूसरा तत्व:
SUBSTRING_INDEX(SUBSTRING_INDEX(CSV_Value, ',', 2), ',', -1) - पहले 3 तत्व:
SUBSTRING_INDEX(CSV_Value, ',', 3)→ '10,20,50'
नोट: यह स्ट्रिंग ऑपरेशन है। संख्यात्मक तुलना के लिए CAST(... AS UNSIGNED) का उपयोग करें।