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

Editar campo en SQL

Estas en el tema de Editar campo en SQL en el foro de Bases de Datos General en Foros del Web. Hola a todos Tengo un archivo de excel y lo paso con el phpMyAdmin a mi base de datos en MySQL. Uno de los campos, ...
  #1 (permalink)  
Antiguo 31/07/2006, 02:28
uen
 
Fecha de Ingreso: octubre-2003
Ubicación: A Coruña
Mensajes: 55
Antigüedad: 21 años, 1 mes
Puntos: 0
Editar campo en SQL

Hola a todos

Tengo un archivo de excel y lo paso con el phpMyAdmin a mi base de datos en MySQL. Uno de los campos, contiene valores de 12 cifras y quiero que los 2 últimos digitos se conviertan a decimales en la tabla de MySQL

Un ejemplo:
En excel, el campo importe tiene el valor "100000000055" y quiero que al pasarlo a MySQL, en el campo cod_tarjeta solo se guarde como: "1000000000,55". Alguna idea?

Gracias por vuestro tiempo.
__________________
We Create, They Destroy Me.

Última edición por uen; 31/07/2006 a las 03:38
  #2 (permalink)  
Antiguo 31/07/2006, 06:41
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Tenes 2 opciones, en excel modificar la columna para que tenga el punto decimal, o... luego de exportado esos valores en mysql, realizar un UPDATE de ese campo dividiendolo entre 100.
Código PHP:
UPDATE tabla SET campo campo/100 
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 01/08/2006, 01:14
uen
 
Fecha de Ingreso: octubre-2003
Ubicación: A Coruña
Mensajes: 55
Antigüedad: 21 años, 1 mes
Puntos: 0
Gracias por responder BrujoNic

El problema es que en Excel no queria modificar nada, queria hacerlo en MySQL, y si hago como dices tu, si me va a hacer lo que quiero lo que pasa que la proxima vez que lo vuelva a hacer, me va a coger los valores antiguos que ya tenian los dos decimales... y me los va a pasar a 4 decimales, y la siguiente los de 4 a 6, los de 2 a 4 y los nuevos a 2... así sucesivamente, nose si me explico

Lo que pregunto es si no hay ninguna forma de editar un campo de la tabla para que automaticamente convierta los dos ultimos digitos en decimales, como hay en access.
__________________
We Create, They Destroy Me.
  #4 (permalink)  
Antiguo 01/08/2006, 02:17
 
Fecha de Ingreso: junio-2006
Mensajes: 87
Antigüedad: 18 años, 4 meses
Puntos: 0
Si lo vas a repetir varias veces puedes añadir un campo de procesado para controlarlo, o puedes añadir al update algo asi:
Código:
UPDATE tabla SET campo = campo/100 
WHERE trunc(campo)=campo
Esto funcionaria si todos tienen parte decimal

O puedes hacer la conversión de datos cuando estas realizando el traspaso, antes de insertarlos en MySQL
  #5 (permalink)  
Antiguo 01/08/2006, 03:47
uen
 
Fecha de Ingreso: octubre-2003
Ubicación: A Coruña
Mensajes: 55
Antigüedad: 21 años, 1 mes
Puntos: 0
gracias seanchan, pero exactamente que hace la funcion "trunc" ?
__________________
We Create, They Destroy Me.
  #6 (permalink)  
Antiguo 01/08/2006, 05:40
 
Fecha de Ingreso: junio-2006
Mensajes: 87
Antigüedad: 18 años, 4 meses
Puntos: 0
el trunc te trunca el numero a cero decimales, devuelve la parte entera, entonces si la parte entera es igual al numero es que no se ha procesado, pero funcionaria suponiendo que todos vayan a tener parte decimal (los que ya se han procesado)
  #7 (permalink)  
Antiguo 01/08/2006, 09:02
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Mira, si vas a estar sobreescribiendo los campos, en nada te va a afectar que DESPUES de exportado a MySQL le apliques el UPDATE que te puse ya que en excel no tendrías que modificar nada. Los valores de esa columna en excel se mantendrían con su valor original, lo exportarías y sobreescribirias en MySQL y luego de eso, realizar el UPDATE del campo dividido entre 100.

Ahora, con la función truncate te funcionaría siempre y cuando, TODOS los campos exportados tengan decimales, de lo contrario, algunos valores no se van a modificar.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #8 (permalink)  
Antiguo 03/08/2006, 01:32
uen
 
Fecha de Ingreso: octubre-2003
Ubicación: A Coruña
Mensajes: 55
Antigüedad: 21 años, 1 mes
Puntos: 0
gracias a ambos, ya ta solucionado :P
__________________
We Create, They Destroy Me.
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 14:34.