SQL Server - Store Procedure y LIKE

   
Vista:

Store Procedure y LIKE

Publicado por euss (2 intervenciones) el 26/09/2007 23:50:03
Hola.

Tengo una consulta que genero dinamicamente, pero ocurre un pequeño problema con el LIKE, funciona sin el comodin %, pero cuando lo quiero poner con la sintaxis LIKE '%@nombre%' no me regresa ningun registro. El codigo del Store Procedure es el siguiente:

SET @criteria = N' WHERE 1=1 '
IF @month <> '-1'
SET @criteria = @criteria + N' AND DATEPART(MONTH,fecha) = @mes '
IF @year <> '-1'
SET @criteria = @criteria + N' AND DATEPART(YEAR,fecha) = @anio '
IF @name <> '*'
SET @criteria = @criteria + N' AND espectaculo LIKE @nombre'
SET @statement = 'SELECT * FROM evento + @criteria+ N' ORDER BY nombre'
exec sp_executesql @statement, N'@mes int, @anio int, @nombre varchar(255)', @month, @year, @name

Esta consulta funciona correctamente, el problema es cuando quiero agregar el comodin %, si pongo:

SET @criteria = @criteria + N' AND espectaculo LIKE ''%@nombre%'''

No me marca error pero la consulta no funciona. Espero puedan ayudarme.
Gracias.
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

RE:Store Procedure y LIKE

Publicado por Isaias (3308 intervenciones) el 27/09/2007 01:37:37
opsss, a ver si le doy de pura adivinanza

SET @criteria = @criteria + N' AND espectaculo LIKE ISNULL(''%''+@nombre+''%'', ''%'')'
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

RE:Store Procedure y LIKE

Publicado por euss (2 intervenciones) el 27/09/2007 16:46:33
:-o
Excelente, funciono!!!!!

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

RE:Store Procedure y LIKE

Publicado por Isaias (3308 intervenciones) el 28/09/2007 01:57:31
No lo puedo creer, fue una solucion a "simple vista".

Saludos
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

RE:Store Procedure y LIKE

Publicado por Marc Sancho (1 intervención) el 05/12/2007 08:50:11
payaso, no va con comillas dobles, va con comillas simples!!!

(''%''+@nombre+''%'', ''%'')
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