Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/11/2015, 16:02
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Estraer cadenas separadas por patrón de texto

Hola jpogsistem:

Una manera que se me ocurre, pero que es terriblemente ineficiente sería hacer uso de la función SUBSTRING_INDEX, checa este ejemplo:

http://www.w3resource.com/mysql/stri...x-function.php

de tal suerte, que podrías hacer algo como esto:

Código MySQL:
Ver original
  1. mysql> SET @cadena = 'hola---57---Andres---Rodriguez';
  2. Query OK, 0 rows affected (0.00 sec)
  3.  
  4. mysql> SELECT @cadena,
  5.     -> SUBSTRING_INDEX(@cadena,'---',1) AS campo1,
  6.     -> SUBSTRING_INDEX(SUBSTRING_INDEX(@cadena,'---',2),'---',-1) AS campo2,
  7.     -> SUBSTRING_INDEX(SUBSTRING_INDEX(@cadena,'---',3),'---',-1) AS campo3,
  8.     -> SUBSTRING_INDEX(SUBSTRING_INDEX(@cadena,'---',4),'---',-1) AS campo4
  9.     -> ;
  10. +--------------------------------+--------+--------+--------+-----------+
  11. | @cadena                        | campo1 | campo2 | campo3 | campo4    |
  12. +--------------------------------+--------+--------+--------+-----------+
  13. | hola---57---Andres---Rodriguez | hola   | 57     | Andres | Rodriguez |
  14. +--------------------------------+--------+--------+--------+-----------+
  15. 1 row in set (0.00 sec)

y así para los 20 campos. Coincido con gnzsoloyo en sus comentarios, esto parece ser un campo multivaluado, lo que implicaría un terrible diseño de tablas. Te conviene más crear un SP para limpiar tu información y pasarlo a una tabla que tenga los 20 campos separados.

Saludos
Leo.