Reputation: 5987
I want to create a stored procedure with two parameters ColumnName
and ColumnValue
for searching
My query would look something like this:
SELECT * FROM TableName WHERE @ColumnName Like @ColumnValue + '%'
but it's return 0 result
Upvotes: 1
Views: 704
Reputation: 18411
You need Dynamic SQL for that. What you have written is searching the @columnValue value in the @ColumnName value. So if your column is foo
and the value is bar
it searches if 'foo'
LIKE 'bar%'
DECLARE @SQL AS NVARCHAR(MAX)
SET @SQL =
N'SELECT * FROM TableName
WHERE ' + QuoteName(@ColumnName) + ' LIKE @val+''%'''
EXECUTE sp_executesql
@SQL,
N'@val varchar(100)',
@val = @ColumnValue;
Upvotes: 4