Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL स्प्लिट कॉमा सेपरेटेड स्ट्रिंग इन टेम्प टेबल

यह काफी हद तक वही प्रश्न है जो क्या Mysql एक कॉलम को विभाजित कर सकता है?

MySQL में स्प्लिट स्ट्रिंग फ़ंक्शन नहीं है, इसलिए आपको आसपास काम करना होगा। ऊपर दिए गए उत्तर पृष्ठ पर सूचीबद्ध विधियों में से किसी एक का उपयोग करके डेटा को विभाजित करने के बाद आप उसके साथ कुछ भी कर सकते हैं।

आप उस कस्टम फ़ंक्शन पर लूप कर सकते हैं और जब यह खाली हो जाता है तो ब्रेक कर सकते हैं, आपको कुछ सिंटैक्स खेलना और सीखना होगा (या कम से कम मैं करूँगा) लेकिन MySQL में फॉर लूप के लिए सिंटैक्स यहां है:http://www.roseindia.net/sql/mysql-example/for.shtml

आप इस पर पुनरावृति कर सकते हैं, नीचे दिए गए फ़ंक्शन में स्थिति को बढ़ा सकते हैं:

CREATE FUNCTION SPLIT_STR(
  x VARCHAR(255),
  delim VARCHAR(12),
  pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
       LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
       delim, '');

(क्रेडिट:https://blog.fedecarg.com /2009/02/22/mysql-split-string-function/ )

यदि कोई मिलान नहीं मिलता है तो कौन सा वापस लौटना चाहिए, इसलिए यदि कोई मिलान नहीं मिलता है तो लूप तोड़ दें। यह आपको विभाजित स्ट्रिंग पर केवल MySQL पार्स के साथ और सम्मिलित प्रश्नों को एक अस्थायी तालिका में चलाने की अनुमति देगा। लेकिन आदमी उस तरह के काम के लिए सिर्फ PHP जैसी स्क्रिप्टिंग भाषा का उपयोग क्यों नहीं करता? :(

लूप सिंटैक्स के लिए कोड:

DELIMITER $$  

CREATE PROCEDURE ABC(fullstr)

   BEGIN
      DECLARE a INT Default 0 ;
      DECLARE str VARCHAR(255);
      simple_loop: LOOP
         SET a=a+1;
         SET str=SPLIT_STR(fullstr,"|",a);
         IF str='' THEN
            LEAVE simple_loop;
         END IF;
         #Do Inserts into temp table here with str going into the row
         insert into my_temp_table values (str);
   END LOOP simple_loop;
END $$


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Neo4j - Cypher . का उपयोग करके CSV फ़ाइल से डेटा आयात करें

  2. INSERT INTO या UPDATE दो शर्तों के साथ

  3. PHP से MySQL में सम्मिलित करना (jQuery/AJAX)

  4. ऑटो वेतन वृद्धि प्राथमिक गिनती में अंतराल छोड़ रहा है

  5. क्या .NET MySqlCommand में एक MySQL उपयोगकर्ता परिभाषित चर का उपयोग करना संभव है?