FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Obtener decimales calculando porcentajes
Hola.
quiero hacer una consulta en la que se calcula el porcentaje de respuestas SI, NO y SIN respuesta en un cuestionario. Utilizo los campos RESP_SI, RESP_NO y RESP_sin y el de total de respuestas TOT_PREGUNTAS. Los 4 campos son integer. La sentencia que uso es:
Todo funciona bien, excepto que los valores que devuelve de las operaciones son valores enteros, lo que produce normalmente que la suma de los 3 porcentajes sea 98 ó 99, raramente 100, porque redondea a la baja y, un 27,55 lo convierte en 27. La pregunta es: ¿Hay alguna forma de obtener los resultados en la consulta con decimales?. ¿Cómo sería?. Uso Firebird 2.0. Gracias de antemano. |
#3
|
|||
|
|||
Hola Axel_Tech.
Gracias por tu propuesta. Ha funcionado parcialmente. Si la operación es entre el valor de un campo y un número constante, funciona bien (utilicé NUMERIC, DECIMAL, FLOAT y REAL, aunque no da decimales con todos estos tipos). Pero no funciona con decimales en el resultado (aunque sí funciona devolviendo valores enteros) si se realiza una operación (como dividir) entre los valores de 2 campos (que son integer). De ayer a hoy he buscado otra vía para resolverlo (sin usar SQL) y, aunque me interesa a nivel de curiosidad y de aprender, he dejado de necesitarlo de forma inmediata. Sin embargo, si alguien sabe como hacerlo (si se puede hacer, claro), creo que sería una buena aportación el que compartiera su solución en este hilo, para cualquier otra persona del foro que pueda necesitarlo. Gracias. |
#4
|
|||
|
|||
Hola de nuevo.
Hice una prueba usando campos tipo FLOAT y funcionó bien, dando decimales. Así que debe ser suficiente con que los campos que entren en la operación que se realiza en el SELECT sean de tipo FLOAT. Saludos. |
#5
|
|||
|
|||
Ojo que cuando muestres ese dato tre saldra con una gran cantidad de decimales, si quieres mostrar solo un decimal debes hacer lo siguiente en el SELECT
Select Round(promedio,1) as variableamostrar Esto te permitira obtener del campo promedio que es de tipo FLOAT solo un decimal en la visualizacion. Saludos Alejandro Arancibia CHILE
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara ....... |
#6
|
|||
|
|||
Gracias Alejandro.
Interesante ese ROUND, aunque no lo pude usar en Firebird 2.0. Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problemas con porcentajes | ronalg | Firebird e Interbase | 4 | 04-10-2008 21:10:39 |
Porcentajes con SQL ¿? | cartmanrules | SQL | 8 | 21-04-2008 22:58:57 |
Porcentajes en CSS no funcionan en explorer 6 | Fate | Internet | 1 | 21-02-2008 00:19:40 |
Calculos de porcentajes¡¡¡ | inexperto | Varios | 7 | 21-06-2005 10:14:32 |
Duda con los porcentajes en un label | CRIS | Varios | 15 | 09-07-2003 23:18:09 |
|