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 05-02-2007
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 22
lbuelvas Va por buen camino
Hola foro,

pues me puse en la tarea de reconstruir el caso

Código SQL [-]
CREATE TABLE XXX (
    ID        INTEGER NOT NULL,
    CANTIDAD  NUMERIC(10,2) NOT NULL,
    TOTAL     NUMERIC(10,3) NOT NULL
);

ALTER TABLE XXX ADD CONSTRAINT PK_XXX PRIMARY KEY (ID);

INSERT INTO XXX (ID, CANTIDAD, TOTAL) VALUES (1, 100, 41.682);

y corri la consulta

Código SQL [-]
Select
cantidad,
(total/cantidad) as precio,
total
from xxx

y el resultado fue:

CANTIDAD PRECIO TOTAL
100 0.41682 41.682

Casimiro Notevi debe tener razon, otros son tus datos o el valor almacenado en cantidad es diferente.

Otra cosa que observe, es que una division tiene en la parte decimal del resultado la suma de los numeros de posiciones decimales de los operandos.

En tu caso deberian aparecer en la parte decimal 5 digitos.
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #2  
Antiguo 05-02-2007
mamaro mamaro is offline
Miembro
 
Registrado: mar 2004
Posts: 79
Poder: 21
mamaro Va por buen camino
voy a buscar

Voy a tratar de repetir la falla y se las envío, actualmente no la tengo a mano porque sustituí el código por uno que andubiera y listo.

aaaa.... antes de alterar el código probé en otro equipo (Windows con motor Firebird SS 2.0), y la falla no se dió (con la misma base).

Gracias de nuevo por e interés que han demostrado, les envío los datos a la brevedad.
Responder Con Cita
  #3  
Antiguo 05-02-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
¿Habeis probado ejecutando la consulta con el execute statement? En mi caso solo daba problemas en las consulta dinamicas que se ejecutaban con la intrucción anterior.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #4  
Antiguo 07-02-2007
mamaro mamaro is offline
Miembro
 
Registrado: mar 2004
Posts: 79
Poder: 21
mamaro Va por buen camino
solucion

Después que me dió ese error (y me dí cuenta dónde estaba fallando) mudé la consulta a un procedimiento almacenado y quedó solucionado.
Pero atención, no hice el cálculo dentro de la consulta ..

Select ....
(total/cantidad) as precio,
...

sino que lo hice ..

For Select
total,
cantidad,
(sin el precio)
...
into ... :LTOTAL, :LCANTIDAD
do
begin
LPRECIO=:LTOTAL/:LCANTIDAD;
suspend;
end


... por supuesto que LPRECIO está dentro de los parámetros que se retornan.

Bueno saludos a todos.
Responder Con Cita
  #5  
Antiguo 07-02-2007
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por mamaro
Después que me dió ese error (y me dí cuenta dónde estaba fallando) mudé la consulta a un procedimiento almacenado y quedó solucionado.
Pero atención, no hice el cálculo dentro de la consulta ..

Select ....
(total/cantidad) as precio,
...

sino que lo hice ..

For Select
total,
cantidad,
(sin el precio)
...
into ... :LTOTAL, :LCANTIDAD
do
begin
LPRECIO=:LTOTAL/:LCANTIDAD;
suspend;
end


... por supuesto que LPRECIO está dentro de los parámetros que se retornan.

Bueno saludos a todos.
Tampoco tiene que fallar, seguramente es que has puesto tipos integer.
Responder Con Cita
  #6  
Antiguo 12-02-2007
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

tengan cuidado cuando trbajan con numeric que se vana a encontar con unos resultados que los van a volver completamente loco. En este foro hay una refencia hacia un link de como se comporta firebird con los numericos traten de leerlas antes de trabajar con es tipo de datos.

Esto lo he dicho varias veces en el foro.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
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
Division de un Campo en un select dmagui SQL 1 04-01-2007 17:59:05
Error el división fayala Varios 3 02-08-2005 01:58:48
division por cero kalimero Varios 7 21-12-2004 16:24:28
Division grafica de Columnas rruffino Impresión 3 20-12-2004 22:31:13
Módulo de una división en Interbase Newbie Firebird e Interbase 1 06-11-2003 23:29:02


La franja horaria es GMT +2. Ahora son las 02:15:53.


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