Pues tengo este procedimiento:
CREATE PROCEDURE ee(ingreso text)
BEGIN
DECLARE tamanio tinyint;
DECLARE comas tinyint;
DECLARE elemento text;
SET tamanio = LENGTH(ingreso);
SET comas = instr(ingreso,',');
while comas > 0 do
SET elemento = SUBSTRING(ingreso,1,comas-1);
SET ingreso = SUBSTRING(ingreso,comas+1);
SELECT elemento;
SET comas = instr(ingreso,',');
END while;
END //
Aqui esta en ejecucion:
CALL ee('e,a,d,g');//
+----------+
| elemento |
+----------+
| e |
+----------+
1 ROW IN SET (0.00 sec)
+----------+
| elemento |
+----------+
| a |
+----------+
1 ROW IN SET (0.00 sec)
+----------+
| elemento |
+----------+
| d |
+----------+
1 ROW IN SET (0.00 sec)
Query OK, 0 ROWS affected (0.00 sec)
No muestra el ultimo caracter
g.
Alquien me ayuda a solucionar el problema.
Gracias.
PD: La idea es mandar un string que representara a un array (cada elemento esta separado por una coma) .... el procedure debe separar cada elemento.