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

मैसकल स्ट्रिंग स्प्लिट

आप इसे संग्रहीत कार्यविधि का उपयोग करके कर सकते हैं

DELIMITER $$

CREATE FUNCTION strSplit(x VARCHAR(65000), delim VARCHAR(12), pos INTEGER) 
RETURNS VARCHAR(65000)
BEGIN
  DECLARE output VARCHAR(65000);
  SET output = REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos)
                 , LENGTH(SUBSTRING_INDEX(x, delim, pos - 1)) + 1)
                 , delim
                 , '');
  IF output = '' THEN SET output = null; END IF;
  RETURN output;
END $$


CREATE PROCEDURE BadTableToGoodTable()
BEGIN
  DECLARE i INTEGER;

  SET i = 1;
  REPEAT
    INSERT INTO GoodTable (col1, col2)
      SELECT col1, strSplit(col2, ',', i) FROM BadTable
      WHERE strSplit(col2, ',', i) IS NOT NULL;
    SET i = i + 1;
    UNTIL ROW_COUNT() = 0
  END REPEAT;
END $$

DELIMITER ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जोड़ें () उदाहरण – MySQL

  2. कमांड लाइन के माध्यम से लिनक्स पर एक MySQL डेटाबेस का चयन करें

  3. MySQL में LOCATE () फ़ंक्शन कैसे काम करता है

  4. अज्ञात कॉलम जहां क्लॉज

  5. मैं एक बड़ी (14 जीबी) MySQL डंप फ़ाइल को एक नए MySQL डेटाबेस में कैसे आयात कर सकता हूं?