Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Importar datos de txt y separarlos por - y tabs

Estas en el tema de Importar datos de txt y separarlos por - y tabs en el foro de Mysql en Foros del Web. Hola buen dia tengo una problema, necesito importar esta tabla de datos de txt hacia mysql. *** Disconnected from MSS201 *** L371 203-31-4640-23464 B276 0 ...
  #1 (permalink)  
Antiguo 07/12/2010, 03:40
 
Fecha de Ingreso: diciembre-2010
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
Importar datos de txt y separarlos por - y tabs

Hola buen dia tengo una problema, necesito importar esta tabla de datos de txt hacia mysql.

*** Disconnected from MSS201 ***

L371 203-31-4640-23464 B276 0 0 0 7
L372 243-41-4330-24365 B346 0 0 0 3
L2831 232-31-1230-24364 f32276 0 0 0 12
L101 242-21-420-47431 gCf85 0 0 0 1
L102 223-51-4340-443172 BfC485 0 0 0 2

lo puedo hacer con el siguiente orden

LOAD DATA LOCAL INFILE 'C:/TABLA.txt'
INTO TABLE TABLA_IMPORTADA
FIELDS TERMINATED BY '\t'
lines terminated by '\n'
ignore 3 LINES;

Lo que necesito hacer es que la columana dos que tienen valores 203-31-4640-23464, se separe en valores por "-" osea que 203 en una columna 31, en otra 4640 en otra y asi...

Espero puedan ayudarme
  #2 (permalink)  
Antiguo 07/12/2010, 04:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Importar datos de txt y separarlos por - y tabs

No lo puedes hacer en el LOAD DATA, lo único que puedes hacer es trabajarlo luego con una tabla temporal y la función SUBSTRING_INDEX(str,delim,count)
Cita:
Retorna la subcadena de la cadena str antes de count ocurrencias del delimitador delim. Si count es positivo, todo a la izquierda del delimitador final (contando desde la izquierda) se retorna. Si count es negativo, todo a la derecha del delimitador final (contando desde la derecha) se retorna.

Código MySQL:
Ver original
  1. mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
  2.         -> 'www.mysql'
  3. mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
  4.         -> 'mysql.com'
Pero de todos modos lo tendrás que hacer luego.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: tabs, txt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:02.