Campos calculados, computed by
Hola a todos, mi consulta esta vez debido a un calculo que realizo en la una tabla donde tengo un campo de aportes de empleados llamado APOTRA (Numeric 12,2), un campo donde tengo el sueldo, SUELDO ( Numeric 12,2), y un campo calculado que es el total del aporte TAPOTRA ( COMPUTED BY SUELDO * APOTRA/100);
El problema es que el si el % del aporte es (APOTRA=2,7) y el sueldo es 1000 el total me da como resultado el campo calculado 20, o sea no toma el decimal... En la tabla veo que el campo TAPOTRA se guardo como BIGINT, entonces lo cree de la siguiente manera
Igualmente sigue redondeando sin decimales el calculo... Alguien sabe que puede pasar? Gracias!! |
Guárdalo como cadena de texto: cast( xxxx as varchar)
¿Para qué sirve almacenar en un campo calculado el sueldo? |
Sólo tienes que cambiar ese "100" por "100.0". Me parece que en algún otro hilo se habló de las reglas de división en SQL / Firebird.
|
Cita:
No recuerdo el hilo, pero el caso específico figura en la documentación de Firebird: Division of an integer by an integer Saludos. :) |
Gracias, poniendo 100.00 se acomodo. Casimiro no guardo en un campo calculado el sueldo, sino el resultado de un porcentaje que debo obtener según ciertos aportes que se realizan a cada empleado. Esos datos estan en una grilla donde se van calculando cuando ponen el porcentaje. Para eso los campos calculados me han servido.
Gracias. |
^\||/ bien, ahora entiendo.
|
La franja horaria es GMT +2. Ahora son las 10:46:46. |
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