1

我有一组用于 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
4

1 回答 1

1

正如Dems所提到的,您似乎想要使用动态 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)
于 2012-06-19T12:59:53.973 回答