Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pemisahan String MySQL oleh operator koma

Saya mendapatkan jawabannya

Pertama buat fungsi baru

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

Kemudian buat prosedur tersimpan

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

Setelah itu saya panggil dengan call Split('asas,d,sddf,dfd'); itu memberi saya output yang saya inginkan.

Terima kasih untuk setiap saran.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghasilkan entitas dari database

  2. Instal mysql-python (Windows)

  3. Pindahkan database MySQL ke server baru

  4. Fasih banyak-ke-banyak-ke-banyak - cara memuat hubungan jauh dengan mudah

  5. Dapatkan nama tabel dari database