Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/09/2010, 12:31
programmer_81
 
Fecha de Ingreso: febrero-2010
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Problema con funciones en sql server 2000

Buenas tardes , espero puedan ayudarme por favor a resolver un problema con los parametros de una funcion.

Mi funcion es esta:

CREATE FUNCTION dbo.IIF(@condic bit, @val1 sql_variant,@val2 sql_variant)

RETURNS sql_variant AS

BEGIN
declare @retorno as sql_variant

if @condic = 1
begin
select @retorno = @val1
end
else
begin
select @retorno = @val2
end
return @retorno
END


************************************************** *****

cuando llamo la funcion

select dbo.IIF(1 , 'valor1' , valor2)
retorna valor1 (funciona)

si la llamo de esta forma:

select dbo.IIF(0 , 'valor1' , valor2)
retorna valor2 (funciona)

es decir si paso el primer parametro ya convertido (0 o 1) funciona

pero si lo paso en forma de expresion

select dbo.IIF(10<4 , 'valor1' , valor2)
deberia convertir la expresion 10<4 y retornar un valor bit (0).....

en resumen sql server 2000 convierte un parametro en expresion logica retornando un valor tipo bit ?????

Gracias por cualquier ayuda , de verdad que no pude solventarlo .....