SQL - Division con Decimales, NO LOS MUESTRA

 
Vista:

Division con Decimales, NO LOS MUESTRA

Publicado por Ismael (2 intervenciones) el 20/02/2007 13:09:30
Hola,
tengo la siguiente cuestión, deseo realizar una división para obtener un porcentaje entre los clientes que cumplen una condicion y el total, es decir algo asi (es lo unico que se me ha ocurrido)

SELECT (COUNT(id) / (SELECT COUNT(id) AS todos FROM Clientes))*100 AS porcentaje
FROM Clientes
WHERE activo=1 AND nombre like 'Jose%'

El caso es que si la primera parte me da como resultado 14 (los llamados Jose) y el total de clientes que tengo es 32 deberia obtener 0'4375 que al multiplicarlo por 100 es 43'75%

Pues bien el resultado de esa division me da CERO, cuando realizando la consulta por separado como os digo obtengo 14 y 32 respectivamente. Alguien me puede decir que hago mal.
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:Division con Decimales, NO LOS MUESTRA

Publicado por Unomásnomás (36 intervenciones) el 20/02/2007 16:34:09
Esto me ha pasado a mi...
lo q pasa es q cuando haces una división y uno de los 2 es del tipo int te devuelve el entero en cambio si a los 2 lo conviertes en double obtienes lo que deseas....
Espero te sirva...
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:Division con Decimales, NO LOS MUESTRA

Publicado por ismael (2 intervenciones) el 20/02/2007 18:36:39
todo arreglado, con el CAST a FLOAT funcionó a la 1ª

MUCHAS GRACIAS !!!!!!
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:Division con Decimales, NO LOS MUESTRA

Publicado por Alonso (1 intervención) el 30/05/2018 19:37:32
Muchas por la aportación me fue de gran ayuda

SET @Resultado = CAST(@PagoMensual AS FLOAT) * ((1-(POWER(CAST(@TasaN AS FLOAT),-CAST(@PlazoN AS FLOAT)))) / (1-(POWER(CAST(@TasaN AS FLOAT),-1))) - 1)
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:Division con Decimales, NO LOS MUESTRA

Publicado por Isaías (5072 intervenciones) el 20/02/2007 18:30:09
SELECT (COUNT(id) / (SELECT COUNT(id) AS todos FROM Clientes))*100.00 AS porcentaje
FROM Clientes
WHERE activo=1 AND nombre like 'Jose%'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Division con Decimales, NO LOS MUESTRA

Publicado por Miguel (1 intervención) el 25/09/2014 20:57:28
Increible, si funciono con agregar esos decimales al 100 , gracias
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
sin imagen de perfil
Val: 25
Ha disminuido su posición en 2 puestos en SQL (en relación al último mes)
Gráfica de SQL

Division con Decimales, NO LOS MUESTRA

Publicado por salvador (23 intervenciones) el 26/09/2014 08:07:01
Hola Ismael,

Lo que te esta pasando es que estas dividiendo y multiplicando con enteros, si quieres que te saque decimales pues en vez de 100 pon 100.00 vera lo que esperabas.

Un saludo.
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