आप MySQL में अल्पविराम से अलग की गई स्ट्रिंग को जोड़ने के लिए एक कस्टम फ़ंक्शन बना सकते हैं। आइए पहले एक टेबल बनाएं। यहां, हमारे पास एक वर्चर कॉलम है, जिसमें हम स्ट्रिंग्स के रूप में नंबर जोड़ेंगे -
mysql> टेबल बनाएं DemoTable -> (-> ListOfValues varchar(50) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.56 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -
mysql> डेमोटेबल मानों में डालें ('20,10,40,50,60'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट देगा -
<पूर्व>+----------------+| ListOfValues |+----------------+| 20,10,40,50,60 |+----------------+1 पंक्ति सेट में (0.00 सेकंड)यहाँ फ़ंक्शन बनाने के लिए क्वेरी है -
mysql> DELIMITER ??mysql> फंक्शन बनाएं TotalSumInCommaSeparatedString(input varchar(50)) -> रिटर्न int -> नियतात्मक -> कोई sql -> start -> TotalSum int default 0 घोषित करें; -> जबकि instr (इनपुट, ",")> 0 डू -> टोटलसम =टोटलसम + सबस्ट्रिंग_इंडेक्स (इनपुट, ",", 1) सेट करें; -> सेट इनपुट =मध्य (इनपुट, इंस्ट्र (इनपुट, ",") + 1); -> समाप्त होने पर; -> कुल योग + इनपुट लौटाएं; -> समाप्त ??क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.17 सेकंड)mysql> DELIMITER;
आइए MySQL में कुछ अल्पविराम से अलग किए गए स्ट्रिंग प्राप्त करने के लिए उपरोक्त फ़ंक्शन की जांच करें -
mysql> डेमोटेबल से TotalSumInCommaSeparatedString(ListOfValues) को TotalSum के रूप में चुनें;
यह निम्नलिखित आउटपुट देगा -
<पूर्व>+----------+| टोटलसम |+----------+| 180 |+----------+1 पंक्ति सेट में (0.00 सेकंड)