Ayuda con Consulta

06/03/2009 - 21:01 por ronhi | Informe spam
Hola la siguiente consulta me esta generando problemas debido a que dentro de
ella se intenta hacer una operacion matematica de division entre cero, la
cual finaliza con el siguiente error:

Msg 8134, Level 16, State 1, Line 1
Divide by zero error encountered.
The statement has been terminated.

(0 row(s) affected)

La consulta es:

((cast([CAPITALACTUAL] as float)/((1-(1/power((1+ cast([TASA_EFECTIVA]as
float)), [FDPLAXDEV_DEP] )))/cast([TASA_EFECTIVA]as
float)))-(cast([CAPITALACTUAL]as float)* cast([TASA_EFECTIVA]as float))) AS
B1PROG

el campo [FDPLAXDEV_DEP] contiene valores ceros y por eso no puede procesarla.

como puedo controlar estos ceros, en Access ignora el error y coloca en la
tabla valores vacios, es decir no pone abosulatamente nada, en SQL si
encuentra un cero se detiene y no continua.

Intento colocar estos valores resultantes en una nueva tabla.

Que me sugieren hacer?
 

Leer las respuestas

#1 Gustavo Larriera [MVP]
06/03/2009 - 21:22 | Informe spam
Una forma de hacerlo es usar CASE para aplicar la formula cuando el valor no
es 0 y en caso contrario devolver el resultado que usted considere apropiado
(0, NULL, lo que sea).

SELECT 'Resultado' =
CASE
WHEN FDPLAXDEV_DEP = 0 THEN __aca ponga un valor___
ELSE __aca ponga la formula a calcular__
END
FROM suTabla


CASE
http://technet.microsoft.com/es-es/...81765.aspx

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"ronhi" wrote:

Hola la siguiente consulta me esta generando problemas debido a que dentro de
ella se intenta hacer una operacion matematica de division entre cero, la
cual finaliza con el siguiente error:

Msg 8134, Level 16, State 1, Line 1
Divide by zero error encountered.
The statement has been terminated.

(0 row(s) affected)

La consulta es:

((cast([CAPITALACTUAL] as float)/((1-(1/power((1+ cast([TASA_EFECTIVA]as
float)), [FDPLAXDEV_DEP] )))/cast([TASA_EFECTIVA]as
float)))-(cast([CAPITALACTUAL]as float)* cast([TASA_EFECTIVA]as float))) AS
B1PROG

el campo [FDPLAXDEV_DEP] contiene valores ceros y por eso no puede procesarla.

como puedo controlar estos ceros, en Access ignora el error y coloca en la
tabla valores vacios, es decir no pone abosulatamente nada, en SQL si
encuentra un cero se detiene y no continua.

Intento colocar estos valores resultantes en una nueva tabla.

Que me sugieren hacer?


Preguntas similares