mostrar decimales
Publicado por aldo (35 intervenciones) el 19/12/2007 17:40:12
Hola,
quiero ver el resultado con 2 decimales y no funciona...
la consulta es la siguiente...
select distinct numpres, p.nombre, [plan], count([plan]) as tot,
sum(CASE WHEN (datediff(dd,fecing,ISNULL(fecegre,'2007/12/19'))) = 0
THEN 1 ELSE datediff(dd,fecing,ISNULL(fecegre,'2007/12/19')) END) as cantdias,
cast((sum(CASE WHEN (datediff(dd,fecing,ISNULL(fecegre,'2007/12/19'))) = 0
THEN 1 ELSE datediff(dd,fecing,ISNULL(fecegre,'2007/12/19')) END)) / (count([plan])) as float) as prom
from interna i inner join prestad p on i.numpres=p.numero
where ((('2007/12/19'>= fecing) and ('2007/12/19'<= fecegre))
or (('2007/12/19'>= fecing) and (fecegre is null)))
group by numpres,p.nombre,[plan]
lo que esta separado es donde no puedo conseguir que me de el resultado con decimales...
es mas, el resultado que me da es el siguiente (solo algunos registros)
NUMPRES NOMBRE PLAN TOTAL CANTDIAS PROM
4.0 CLINICA PRIVADA SANTA ANA BLAN 1 1 1.0
8.0 HOSPITAL PRIVADO MODELO AZUL 1 8 8.0
8.0 HOSPITAL PRIVADO MODELO BLAN 3 9 3.0
9.0 SANATORIO GRAL.SARMIENTO AZUL 1 3 3.0
10.0 SANATORIO MODELO CASEROS BLAN 4 23 5.0
12.0 CLINICA ESTRADA AZUL 1 1 1.0
para ser mas claro, el resultado me lo da en decimales pero con 1 solo decimal y ademas no me muestra los decimales. Por ejemplo, en el registro donde el total es 4 y cantdias es 23 me tendria que dar 5.75 o en su defecto 5.7, pero no es asi.
Alguien me puede ayudar?
probe con format y no anduvo, con formatnumber tampoco, con round (que no es este caso ya que quiero que no redondee), y tampoco anduvo...
muchas gracias!
Aldo
quiero ver el resultado con 2 decimales y no funciona...
la consulta es la siguiente...
select distinct numpres, p.nombre, [plan], count([plan]) as tot,
sum(CASE WHEN (datediff(dd,fecing,ISNULL(fecegre,'2007/12/19'))) = 0
THEN 1 ELSE datediff(dd,fecing,ISNULL(fecegre,'2007/12/19')) END) as cantdias,
cast((sum(CASE WHEN (datediff(dd,fecing,ISNULL(fecegre,'2007/12/19'))) = 0
THEN 1 ELSE datediff(dd,fecing,ISNULL(fecegre,'2007/12/19')) END)) / (count([plan])) as float) as prom
from interna i inner join prestad p on i.numpres=p.numero
where ((('2007/12/19'>= fecing) and ('2007/12/19'<= fecegre))
or (('2007/12/19'>= fecing) and (fecegre is null)))
group by numpres,p.nombre,[plan]
lo que esta separado es donde no puedo conseguir que me de el resultado con decimales...
es mas, el resultado que me da es el siguiente (solo algunos registros)
NUMPRES NOMBRE PLAN TOTAL CANTDIAS PROM
4.0 CLINICA PRIVADA SANTA ANA BLAN 1 1 1.0
8.0 HOSPITAL PRIVADO MODELO AZUL 1 8 8.0
8.0 HOSPITAL PRIVADO MODELO BLAN 3 9 3.0
9.0 SANATORIO GRAL.SARMIENTO AZUL 1 3 3.0
10.0 SANATORIO MODELO CASEROS BLAN 4 23 5.0
12.0 CLINICA ESTRADA AZUL 1 1 1.0
para ser mas claro, el resultado me lo da en decimales pero con 1 solo decimal y ademas no me muestra los decimales. Por ejemplo, en el registro donde el total es 4 y cantdias es 23 me tendria que dar 5.75 o en su defecto 5.7, pero no es asi.
Alguien me puede ayudar?
probe con format y no anduvo, con formatnumber tampoco, con round (que no es este caso ya que quiero que no redondee), y tampoco anduvo...
muchas gracias!
Aldo
Valora esta pregunta


0