SQL - SP - Where con IIF

 
Vista:

SP - Where con IIF

Publicado por Favio (7 intervenciones) el 15/07/2005 23:02:27
Gracias a TODOS, tengo un problema con SQL server, al generar Stores procedures. Cuand ingreso una variable al store procedure, ésta puede ser 0 o tener algún valor, mi referencia es, que pueda el SQL identificarlo si es que tiene algún valor, para poder filtrarlo, les pasoo un ejemplo (que naturalemtne, no funciona, para ver si me comprenden algo mejor). Muchas gracias por su tiempo.

CREATE PROCEDURE aaa

@elanio varchar(4) = 0

AS

SELECT CO_MPRAS.CCODIGO
FROM CO_MPRAS
WHERE 1 = 1
if (@elanio > 0)
begin
AND year(CO_MPRAS.DFECHA) = @elanio
end

Es decir, que si ingresa el parametro elanio, que se filtre, y sino, que no lo tome en cuenta.

P.D: El where 1=1 lo puse para que no me dé el error de sintaxis

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:SP - Where con IIF

Publicado por Liliana (426 intervenciones) el 18/07/2005 13:52:17
Hola,
Fuera del SELECT se puede usar el IF, pero dentro del SELECT, la instrucción es CASE.
Creo que lo que necesitás es esto:

IF @elanio > 0
SELECT CO_MPRAS.CCODIGO
FROM CO_MPRAS
WHERE year(CO_MPRAS.DFECHA) = @elanio

Saludos, Liliana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar