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 .....