Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-03-2013
DamianG DamianG is offline
Miembro
 
Registrado: mar 2008
Posts: 95
Poder: 17
DamianG Va por buen camino
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

Código SQL [-]
alter table empsueldosdet add 
TAPOTRA COMPUTED BY CAST(SUELDO * APOTRA /100 as numeric(12,2));

Igualmente sigue redondeando sin decimales el calculo... Alguien sabe que puede pasar? Gracias!!
Responder Con Cita
  #2  
Antiguo 21-03-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Guárdalo como cadena de texto: cast( xxxx as varchar)
¿Para qué sirve almacenar en un campo calculado el sueldo?
Responder Con Cita
  #3  
Antiguo 21-03-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
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.
Responder Con Cita
  #4  
Antiguo 21-03-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Al González Ver Mensaje
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.
Correcto así es Al.

No recuerdo el hilo, pero el caso específico figura en la documentación de Firebird: Division of an integer by an integer

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 21-03-2013
DamianG DamianG is offline
Miembro
 
Registrado: mar 2008
Posts: 95
Poder: 17
DamianG Va por buen camino
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.
Responder Con Cita
  #6  
Antiguo 21-03-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
bien, ahora entiendo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TClienDataSet Problemas con Campos Blob y Campos Calculados LEVV Conexión con bases de datos 2 11-05-2012 01:25:43
Campos Calculados elias1312 Varios 2 08-04-2009 20:39:50
Campos Calculados Kaller Tablas planas 1 12-12-2006 00:11:13
Campos Calculados jonny0157 C++ Builder 1 10-08-2005 11:00:44
Problema en Campos Computed By Carlos Hurtado Firebird e Interbase 1 27-07-2005 09:42:16


La franja horaria es GMT +2. Ahora son las 14:23:02.


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
Copyright 1996-2007 Club Delphi