我有一组在where子句中使用的动态条件。
我正在尝试将它们添加到WHERE子句中的存储过程中,作为完整子句的参数,但不会返回结果。
这可能吗?
Parameter @sql_statement = 'date in ('2011-01-01','2012-01-01','2012-05-24') AND doc = '1''
#where statement
WHERE emp='x' AND @sql_statement
答案 0 :(得分:1)
如上所述Dems,您似乎想要使用dynamic SQL。
您可以尝试:
declare @where_clause varchar(100)
declare @sql_statement varchar(500)
select @where_clause = 'date in (''2011-01-01'',''2012-01-01'',''2012-05-24'') AND doc = ''1'''
select @sql_statement = 'select * from my_table where ' + @where_clause
exec (@sql_statement)