Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-01-2006
coletaun coletaun is offline
Miembro
 
Registrado: oct 2004
Posts: 43
Poder: 0
coletaun Va por buen camino
suma de una columna en mysql

Hola a todos.

Tengo que sumar los valores de una columna en mysql, y esta tiene como tipo de dato varchar.

cuando sumo con 'select sum(nombrecolumna) from tabla', me devuelve la suma pero sólo el valor entero de la misma, sin decimales.

Alguien me podria decir como soluciono ésto y que me devuelva el valor entero sin cambiar el tipo de dato de esa columna??

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 08-01-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿podrías mostrarnos la estructura exacta de la tabla? Acabo de hacer una prueba sumando una columna varchar y me da el resultado correcto.

// Saludos
Responder Con Cita
  #3  
Antiguo 08-01-2006
coletaun coletaun is offline
Miembro
 
Registrado: oct 2004
Posts: 43
Poder: 0
coletaun Va por buen camino
varchar

el campo que sumo su valor en todos los registros es del tipo varchar(8)
Responder Con Cita
  #4  
Antiguo 09-01-2006
coletaun coletaun is offline
Miembro
 
Registrado: oct 2004
Posts: 43
Poder: 0
coletaun Va por buen camino
solo suma la parte entera del número

El resultado de la suma es correcto pero solo toma la parte entera del valor del campo, es decir si teiens que sumar 2,3 y el siguiente registro 3,4, el resultado con SUM(campo) me daria como resultado 5 en lugar de 5,7.

Puedo hacer algo para que me sume tambien la parte decimal?

Garacias.
Responder Con Cita
  #5  
Antiguo 09-01-2006
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 22
kayetano Va por buen camino
Hola

Si no recuerdo mal MySql utiliza el punto decimal y no la coma, por lo tanto todo lo que queda a la derecha de la como lo ignora.

Prueba el siguiente ejemplo:
Código SQL [-]
SELECT "100,2" + "50,3"  // Da como resultado 150
Código SQL [-]
SELECT "100.2" + "50.3"  // Da como resultado 150.5
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #6  
Antiguo 09-01-2006
coletaun coletaun is offline
Miembro
 
Registrado: oct 2004
Posts: 43
Poder: 0
coletaun Va por buen camino
solucionado¡¡¡¡

Solucionado¡¡

He utilizado una función que me cambia la ',', por el '.' para hacer la operacion sum(total), de esta forma me devuelve la suma con decimales y el punto, despues ya cambio en el string otra vez el punto por la cadena.

Gracias de verdad....KAYETANO
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:06:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi