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

अल्पविराम ऑपरेटर द्वारा MySQL स्ट्रिंग पृथक्करण

मुझे जवाब मिल गया

पहले नया फ़ंक्शन बनाएं

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, '');

फिर संग्रहित प्रक्रिया बनाएं

DELIMITER ;;
CREATE PROCEDURE Split(in fullstr varchar(255))
BEGIN
    DECLARE a INT Default 0 ;
    DECLARE str VARCHAR(255);

    DROP TABLE IF EXISTS my_temp_table;
    CREATE temporary TABLE my_temp_table(ID INT AUTO_INCREMENT NOT NULL, description text, primary key(ID));

    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 (description) values (str);
   END LOOP simple_loop;
   select * from my_temp_table;
END

उसके बाद जब मैं इसे call Split('asas,d,sddf,dfd'); यह मुझे वह आउटपुट देता है जो मुझे चाहिए।

हर सुझाव के लिए धन्यवाद।



  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. mysqli_stmt::bind_param() - प्रत्येक पैरामीटर के लिए s के अलावा कोई अन्य डेटा प्रकार निर्दिष्ट करें

  3. mysql में कई पंक्तियों को सम्मिलित करना

  4. Node.js MYSQL किसी क्वेरी की INSERT/UPDATE पूर्णता का पता लगाने के लिए?

  5. क्या मैं प्राथमिक कुंजी बदलने के लिए पीटी-ऑनलाइन-स्कीमा-परिवर्तन का उपयोग कर सकता हूं?