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

Calcular Avg con decimales de campo entero

Estas en el tema de Calcular Avg con decimales de campo entero en el foro de SQL Server en Foros del Web. Hola ¿Como andan? Tengo una tabla que tiene un campo de tipo Int, y necesito calcular mediante un select el promedio de ese campo, pero ...
  #1 (permalink)  
Antiguo 31/03/2008, 05:40
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 9 meses
Puntos: 13
Calcular Avg con decimales de campo entero

Hola ¿Como andan? Tengo una tabla que tiene un campo de tipo Int, y necesito calcular mediante un select el promedio de ese campo, pero necesito que el resultado me dé en decimales. Si pongo SELECT AVG(campo) FROM Tabla el resultado que me da no es decimal cuando tendría que serlo. Por ejemplo, si tengo dos filas cuyos valores son 1 y 2 no me devuelve 1,5 sino 1 ¿Se entiende? Yo necesito que me dé 1,5

¿Como tendría que hacer?

Muchas gracias.
Saludos. Lucas
  #2 (permalink)  
Antiguo 31/03/2008, 07:41
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 9 meses
Puntos: 13
Re: Calcular Avg con decimales de campo entero

Hola, ya solucioné el problema. En realidad necesitaba el promedio ponderado, no el aritmético asi que no utilicé el AVG. No se cual sería la solución al problema mío pero ya resolví la situación.

Saludos. Lucas
  #3 (permalink)  
Antiguo 31/03/2008, 08:34
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 9 meses
Puntos: 6
Re: Calcular Avg con decimales de campo entero

Bueno el problema es q si divides int / int te da tu int como resultado, ejecuta lo de abajo para que te des cuenta:

declare @int int
set @int = 3
select @int/2

declare @decimal decimal(13,2)
set @decimal = 3
select @decimal/2

Creo que haciendo esto de abajo te hubiera salido.

SELECT AVG(campo*1.0) FROM Tabla

Saludos
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
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 19:11.