Bueno como la verdad he hecho ya bastantes codigos para simular el famoso split o explode pero en MySQL y al fin creo que he dado con uno dentro de todo sencillo, lo queria compartir con la comunidad ya que quizas a alguien le pueda resultar util :) desde ya los que saben mucho mas de esto que yo pueden mejorarlo y compartirlo lo cual seria genial pero bueno de momento les dejo el que hice yo espero les sirva :) aqui va:
Código MySQL:
Ver original-- --------------------------------------------------------------------------------
-- Routine DDL
-- Note: comments before and after the routine body will not be stored by the server
-- --------------------------------------------------------------------------------
DELIMITER $$
SET i
= 1; # se le puede dar cualquier valor menos 0.
# INTRO BUCLE
# seteo i a la posicion donde esta el caracter para separar
# realiza lo mismo que indexOf en javascript
# esta variable guardara el valor actual del supuesto array
# se logra cortando desde la posicion 1 que para MySQL es la primera letra (en javascript es 0)
# hasta la posicion donde se encuentra la cadena a separar -1 ya que sino incluiria el 1er caracter
# del caracter o cadena de caracteres que hacen de separador
# corto / preparo la cadena total para la proxima vez que se entre al bucle para eso corto desde la posicion
# donde esta el caracter separador hasta el tamaño total de la cadena
# como el separador puede ser de n caracteres en el 2do parametro paso i que es la posicion del separador
# sumado al tamaño de su cadena
# si el if entra aca es porque i ya vale 0 y no entrara nuevamente al bucle lo cual significa que la
# cadena original ya no tiene separadores por ende lo que queda de ella es igual a la ultima posicion
# del supuesto array
# he creado una tabla test que tiene como estructura:
# id int, i int, texto1 text, texto2 text para subir de muestra como cambia el indice (i)
# y como sube el elemento iterado y por ultimo la cadena original para ver como va mutando
Para probarlo basta pasarle por parametros un texto separado por el caracter o caracteres que querramos y seguido el separador por ej:
Espero les guste y les sirva, todas las sugerencias de mejora son muy bienvenidas ;)
Salu2