Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/09/2012, 10:49
gandalf_2706
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Dividir el contenido de un campo en dos campos

Buenas de nuevo, si bien eso soluciono mi problema, el tema es que ahora el campo tiene 3 datos, latitud, longitud y algunas veces zoom, por lo tanto, quiero que se separe en 3 campos, entendi como funcionaba la funcion locate, pero si quiero localizar la segunda coma (en caso de que exista) para colocar el valor en el tercer campo, como seria?

Originalmente era asi:

UPDATE tabla SET
latitud = SUBSTRING(coordenadas,1,LOCATE(",",coordenadas) - 1),
longitud = SUBSTRING(coordenadas,LOCATE(",",coordenadas) + 1,
LENGTH(coordenadas));

Yo implemente lo siguiente:

UPDATE tabla SET
latitud = SUBSTRING(coordenadas,1,LOCATE(",",coordenadas) - 1),
longitud = SUBSTRING(coordenadas,LOCATE(",",coordenadas) + 1,
zoom_mapa = SUBSTRING(geopos,LOCATE(",",geopos,LENGTH(lat)+LEN GTH(lon)) + 1, LENGTH(geopos));

Esto funciona bien con campos que tienen las 2 comas, por ejemplo:

coordenadas = 9.305236786124137,-79.95585698437503,7
Luego
latitud = 9.305236786124137
longitud = -79.95585698437503,7
zoom_mapa = 7

Pero, como algunos valores no tienen la segunda coma, recorre nuevamente la cadena y el tercer campo toma el primer valor, es decir:

coordenadas = 89.74658693637143,-64.08262457682292
Luego:
latitud = 89.74658693637143
longitud = -64.08262457682292
zoom_mapa = 89.74658693637143

Espero que alguien pueda ayudarme!!!
Desde ya muchas gracias!!!!

Última edición por gandalf_2706; 18/09/2012 a las 10:58 Razón: Solucion parcial