SQL - mostrar decimales

 
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:mostrar decimales

Publicado por Isaias (5072 intervenciones) el 19/12/2007 20:28:29
¿Que base de datos estas manejando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mostrar decimales

Publicado por aldo (35 intervenciones) el 19/12/2007 21:19:51
gracias por tu tiempo Isaias...
estoy usando sql server 2000

saludos,
Aldo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mostrar decimales

Publicado por Isaias (5072 intervenciones) el 20/12/2007 18:56:49
Intentalo asi:

(count([plan])) as decimal (10,2)) as prom
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mostrar decimales

Publicado por aldo (35 intervenciones) el 20/12/2007 19:23:23
Isaias...
probe lo que me dijiste y me sale el siguiente error

Incorrect syntax near '10'

y probe con esto (le saque un parentesis, por si acaso...
(count([plan]) as decimal (10,2)) as prom
y tampoco anduvo, aca me sale... Incorrect syntax near the keyword 'as'

no se me ocurre que puede ser...

gracias
Aldo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mostrar decimales

Publicado por aldo (35 intervenciones) el 20/12/2007 19:34:35
Isaias...
lo solucione!

fui probando y con la funcion cast lo logre mas lo que vos me aconsejaste, lo solucione.

quedo asi...
cast(count([plan]) as decimal(10,2)) as prom

muchas gracias por tu tiempo y predisposicion!

saludos,
Aldo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mostrar decimales

Publicado por Isaias (5072 intervenciones) el 21/12/2007 21:02:48
Aldo

Pequeño detalle que has podido resolver

Saludos y felices fiestas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar