Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    106

    Stringa di testo da separare in più righe mysql

    Salve, sapete se esiste una funzione simile all'explode di php che permette di separare una stringa di testo in più righe mysql

    Ad esempio:

    Domenico##Giuseppe##Giacomo

    in questo caso dove si trova il carattere "##" esegue una separazione e crea tre record

    1-Domenico
    2-Giuseppe
    3-Giacomo

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non esiste niente del genere, te la devi costruire tu.

    codice:
    drop table if exists prova;
    create table prova (
    id int not null auto_increment primary key,
    testo varchar(200)
    ) engine = myisam;
    
    insert into prova (testo)
    values 
    ('Domenico##Giuseppe##Giacomo'),
    ('pippo'),
    ('pinco##palla');
    
    drop table if exists prova2;
    create table prova2 like prova;
    
    delimiter //
    drop procedure if exists splitta //
    create procedure splitta()
    begin
    declare str varchar(200);
    declare ssql varchar(200);
    declare finito int default 0;
    declare cursore cursor for select testo from prova;
    declare continue handler for not found set finito = 1;
    open cursore;
    mio_loop:loop
    fetch cursore into str;
    	if finito = 1 then
    	  leave mio_loop;
    	end if;
    	set @ssql = concat("insert into prova2 (testo) values ('", replace(str, '##', "'),('"), "')");
    	prepare stmt from @ssql;
    	execute stmt;
    	deallocate prepare stmt;
    end loop;
    close cursore;
    end; //
    delimiter ;
    
    call splitta;

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.