SET @whereCond = @whereCond + ' AND name LIKE ''%'' + @name + ''%'''
Is there something wrong here? After I generate where condition, I execute it with sp_executesql
, but I did get anything. When I SELECT the same thing without sp, it's ok.
How to use LIKE in sp_executesql? Can you bring some examples, please?
Thank you.
UPDATE
declare @name nvarchar(50)
set @name = 'a'
SELECT *
FROM Tbl_Persons WHERE 1 = 1 AND lastname LIKE '%a%'
exec sp_executesql
N'SELECT *
FROM Tbl_Persons WHERE 1 = 1 AND lastname LIKE ''%@name%''',
N'@name nvarchar(50)',
@name=@name
First query returns values, second one doesn't return anything.
What's the difference?