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

Como Cambiar un tipo de campo de varchar a double sin el error de Data truncated

Estas en el tema de Como Cambiar un tipo de campo de varchar a double sin el error de Data truncated en el foro de Mysql en Foros del Web. Hola, Amigos.. Deseo cambiar un tipo de dato de un campo de una tabla de varchar a double, pero obtengo un error de "Data truncated ...
  #1 (permalink)  
Antiguo 25/06/2008, 14:10
 
Fecha de Ingreso: junio-2008
Mensajes: 1
Antigüedad: 15 años, 9 meses
Puntos: 0
Como Cambiar un tipo de campo de varchar a double sin el error de Data truncated

Hola, Amigos..

Deseo cambiar un tipo de dato de un campo de una tabla de varchar a double, pero obtengo un error de "Data truncated for column 'COMPUESTO' at row 1", sin embargo cuando la tabla esta vacia la sentecia la ejecuta bien !!

Esto no es comun pero necesito controlar esto de alguna manera...
gracias !!
  #2 (permalink)  
Antiguo 27/06/2008, 06:59
Avatar de RucarMaN  
Fecha de Ingreso: julio-2003
Ubicación: Caripito Edo Monagas
Mensajes: 169
Antigüedad: 20 años, 9 meses
Puntos: 1
Respuesta: Como Cambiar un tipo de campo de varchar a double sin el error de Data tru

tambien tengo el mismo tipo de error.....
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[MySQL][ODBC 3.51 Driver][mysqld-5.0.24-community-nt]Incorrect decimal value: '2.222,22' for column 'montoPago' at row 1


tengo una campo monto con mascara 000.000,00 como puedo cambiarla cuando se inserta en la base de dato a 000000,00.
__________________
Con la ayuda de todos seremos mejores...

http://www.pemoweb.com

Última edición por RucarMaN; 27/06/2008 a las 07:59
  #3 (permalink)  
Antiguo 27/06/2008, 08:34
 
Fecha de Ingreso: junio-2008
Ubicación: Cali, Colombia
Mensajes: 74
Antigüedad: 15 años, 9 meses
Puntos: 3
Respuesta: Como Cambiar un tipo de campo de varchar a double sin el error de Data tru

Cita:
Iniciado por NassinSeguias Ver Mensaje
Hola, Amigos..

Deseo cambiar un tipo de dato de un campo de una tabla de varchar a double, pero obtengo un error de "Data truncated for column 'COMPUESTO' at row 1", sin embargo cuando la tabla esta vacia la sentecia la ejecuta bien !!

Esto no es comun pero necesito controlar esto de alguna manera...
gracias !!
Hola Nassin verifica que la columna que quieres cambiar a DOUBLE no contenga datos que sean diferenes a numeros como por ejemplo una letra ya que esto es la que posiblemente causa el error. Ojala te sirva

Saludos
  #4 (permalink)  
Antiguo 28/06/2008, 00:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Como Cambiar un tipo de campo de varchar a double sin el error de Data tru

NassinSeguias,
Lo primero es que nos digas cómo introduces esos decimales en el campo VARCHAR, si usas el punto para separar los decimales o empleas la coma. Lo segundo es que nos informes sobre el número máximo de decimales que escribes tras el punto, y también el máximo de número de dígitos para la parte entera. La tercera información de importancia es que nos digas qué tamaño tiene el DOUBLE cuando lo conviertes, por ejemplo si 6,2 ó 5,3. Tal vez si ofreces esos datos podamos entender cuál es el problema y podríamos ayudarte, si es que no lo has resuelto ya, claro.

RucarMaN,
tu caso es parecido, aunque por lo que veo el obstáculo parece ese formato o máscara que utilizas. Ese formato con punto para los miles y coma para los decimales provoca el error. Si cambias el formato el formato de 000.000,00 a 000000,00 en la base de procedencia (Access o la que sea), tal vez tengas resuelto en parte el problema, pues parece que primero se produce una conversión a texto y luego a double. La base que carga los datos, si no me equivoco, no sabe cómo interpretar la coma, pues interpreta como punto decimal el de los miles de tu formato.
Espero que sea eso.

Última edición por jurena; 28/06/2008 a las 09:54
  #5 (permalink)  
Antiguo 29/06/2008, 11:50
Avatar de RucarMaN  
Fecha de Ingreso: julio-2003
Ubicación: Caripito Edo Monagas
Mensajes: 169
Antigüedad: 20 años, 9 meses
Puntos: 1
Respuesta: Como Cambiar un tipo de campo de varchar a double sin el error de Data tru

jurena: mi problemita es: que la mascara que tengo 000.000,00 la acepta MS Access pero estoy realizando la migracion a MySQL y no me acepta con puntos.... y lo que quiero es cuando la cantidad 000.000,00 se inserte en la base de dato MySQL sea 000000,00, ya que me da error con mi mascara... el campo en DB MySQL la tengo DECIMAL(19,4)
__________________
Con la ayuda de todos seremos mejores...

http://www.pemoweb.com
  #6 (permalink)  
Antiguo 29/06/2008, 16:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Como Cambiar un tipo de campo de varchar a double sin el error de Data tru

Cambia primero el formato de número en access a un formato con coma decimal, pero sin cero para miles. En la tabla, en diseño, seleccionas el campo y cambias a tamaño de campo doble, y formato Número general.
Prueba luego a hacer la conversión. Pero si eso no funcionara, no te preocupes, porque podrás hacer la conversión a un campo con formato de texto en MysQL, sobre el que mediante replace podrás cambiar los datos y luego cambiar a número doble...
  #7 (permalink)  
Antiguo 29/06/2008, 20:37
Avatar de RucarMaN  
Fecha de Ingreso: julio-2003
Ubicación: Caripito Edo Monagas
Mensajes: 169
Antigüedad: 20 años, 9 meses
Puntos: 1
Respuesta: Como Cambiar un tipo de campo de varchar a double sin el error de Data tru

Jurena me diste una idea o me alumbraste.... voy a usar la funcion replace() de la siguiente manera...
montoPago = 1.000,00
montoPago = Replace(montoPago,".","")
montoPago = 1000,00
Luego te digo si funciona......Saludos...
__________________
Con la ayuda de todos seremos mejores...

http://www.pemoweb.com
  #8 (permalink)  
Antiguo 30/06/2008, 10:54
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Como Cambiar un tipo de campo de varchar a double sin el error de Data tru

RucarMan,

Como te dije, deberías probar a cambiar en Access al formato de número normal de doble, y luego probar.
Pero si no te funciona, yo te recomiendo, importar a un campo varchar de MySQL.
Te aparecerán números del tipo 13.234,45 (eso espero), por poner un ejemplo.
El primer paso será quitar el punto:
Ya en MySQL haces lo siguiente
1) UPDATE nombretabla SET nombrecampo = REPLACE(nombrecampo, '.', '')
Así quitas el punto.
2) UPDATE nombretabla SET nombrecampo = REPLACE(nombrecampo, ',','.')
Así cambias la coma por punto, que es el separador decimal de MySQL.
3) cambias el tipo de campo de varchar a double con un tamaño que te cubra todos los decimales y no decimales del número, incluyendo el signo positivo o negativo de los números.
Y ya lo tienes.

Seguro que hay algo más fácil, y me extraña que si dejas el número con separador coma decimal en Access no te lo convierta, pero no sé por qué no puedes quitar esa máscara y dejar el número en un formato con sólo decimal separado por coma, sin punto para los miles.
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:13.