Evaluar valor campo de Select antes de hacer el Select

10/11/2006 - 16:39 por Bernardo Canales | Informe spam
Buenas tarde, tengo un procedimiento almacenado que genera varias tablas
temporales para hacer unos calculos y despues usa los valores de esas tablas
temporales para hacer un select que devuelve un recordset con datos que veo
en Excel o Access :

Mi consulta es la siguiente : Es posible asignar el valor de un campo a una
variable para hacer una evaluacion y en base a ese valor hacer que en el
recordset unas filas especificas devuelvan una informacion distinta a la
devuelta por el Select de calculos ??.

El caso es que se trata de ofertas, y en base a lo ofertado hace unos
calculos inclusive de division, pero si el valor ofertado es 0, al consultar
el Procedimiento almacenado desde Excel, me devuelve el error division por
cero, por eso queria evaluar ese valor antes de ejecutar el select de
calculo y en ese caso, devolver strings que dicen que se oferte 0.

gracias..
 

Leer las respuestas

#1 Alejandro Mesa
10/11/2006 - 16:56 | Informe spam
Bernardo,

Puedes usar la funcion NULLIF para quitarte de arriba ese error.

Ejemplo:

declare @n = 0

select 1 / nullif(@n, 0)
go

Puedes agregar la funcion ISNULL para darle significado al valor NULL.

declare @n = 0

select isnull(1 / nullif(@n, 0), 0)
go


AMB

"Bernardo Canales" wrote:

Buenas tarde, tengo un procedimiento almacenado que genera varias tablas
temporales para hacer unos calculos y despues usa los valores de esas tablas
temporales para hacer un select que devuelve un recordset con datos que veo
en Excel o Access :

Mi consulta es la siguiente : Es posible asignar el valor de un campo a una
variable para hacer una evaluacion y en base a ese valor hacer que en el
recordset unas filas especificas devuelvan una informacion distinta a la
devuelta por el Select de calculos ??.

El caso es que se trata de ofertas, y en base a lo ofertado hace unos
calculos inclusive de division, pero si el valor ofertado es 0, al consultar
el Procedimiento almacenado desde Excel, me devuelve el error division por
cero, por eso queria evaluar ese valor antes de ejecutar el select de
calculo y en ese caso, devolver strings que dicen que se oferte 0.

gracias..



Preguntas similares