Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Convertir datos de INTEGER a NUMERIC (https://www.clubdelphi.com/foros/showthread.php?t=93794)

Angel.Matilla 06-03-2019 13:19:26

Convertir datos de INTEGER a NUMERIC
 
Tengo este query:
Código SQL [-]
SELECT A.Censo, SUM(B.Votos) Votos, C.Votos VotosC, 100 * C.Votos / SUM(B.Votos) PorcenC
FROM Mesas A, Resultados B, Resultados CWHERE A.CodPrv = (SELECT Literal FROM Instalacion WHERE Etiqueta = 'Provincia') 
AND A.Municipio = :Codigo AND A.CodPrv = B.CodPrv AND A.Municipio = B.Municipio 
AND A.Codigo = B.Mesa AND B.Proceso = :Proceso 
AND A.CodPrv = C.CodPrv AND A.Municipio = C.Municipio AND A.Codigo = C.Mesa AND B.Proceso = C.Proceso AND C.Partido = 3
y, por ejemplo, me da esta salida
Cita:

Censo - 700
Votos - 536
VotosC - 57
PorcenC - 10
Es evidente que 57 no es el 10% de de 536; es algo más (10,63%). He intentado que en el cálculo me saque los decimales, para lo que en vez de la operación pura y dura he puesto:
Código SQL [-]
CAST(100 * C.Votos / SUM(B.Votos) AS NUMERIC(8, 2))
pero me sigue sacando el valor entero 10. ¿Cómo puedo resolverlo?

Angel.Matilla 06-03-2019 13:21:13

¡Ya está! Me auto respondo. Lo había proabdo, pero había puesto mal la instrucción. Me queda así:
Código SQL [-]
CAST(100 * C.Votos AS NUMERIC(8, 2)) / CAST(SUM(B.Votos) AS NUMERIC(8, 2))


La franja horaria es GMT +2. Ahora son las 13:00: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