por danielrcyberia® el Dom Ene 28, 2007 5:45 pm
Saludos Cordiales Colega!!
En efecto, este es un buen ejemplo de como podria ser un UDF q resolviera este dilema, pero como ya habia alcanzado ese nivel te comento cual es el detalle por el cual no funciona!
Cuando creamos la funcion
CREATE function IIF(@b bit, @t SQL_VARIANT,@f SQL_VARIANT )
El parametro nos debe permitir una verdadera expresion logica, donde podamos usar diferente operadores logicos (=,<,>,and, or,etc.) y asi dar una verdadera evaluacion de la expresion
DECLARE @temp SQL_VARIANT
IF @b=1
SELECT @temp=@t
Empezando el If esta el talon de Aquiles de este ejemplo ya que la expresion es evaluada con un unico operado y condicion! de paso declarando la expresion como bit tambien condiciona la expresion a una sola! lo q tendriamos algo asi! Iif(1,'verdadero','falso'), IIF(0,'verdader','falso')
Concluyendo q no seria posible un verdadero If o IIF lo q necesitaria saber es si hay un tipo de datos logico que permita una verdadera Expresion donde usara operadores logicos, o alguna otra idea que tengan viendo estos ejemplos
Muuuuuachass Gracias por todo de verdad!!
Saludos y Exitos
Daniel Rivas