SQL Server 2008是否可以在WHERE IN子句中使用变量

时间:2010-05-19 23:37:40

标签: sql sql-server sql-server-2008

SQL Server 2008中是否有任何更新允许IN谓词的WHERE子句的变量?

此代码是否按预期工作?

declare @InParams varchar(100) = '1,2';

select * from Category
where CategoryID in @InParams;

2 个答案:

答案 0 :(得分:7)

请参阅此处:Arrays and Lists in SQL Server(选择您的版本),或http://www.sommarskog.se/dynamic_sql.html

答案 1 :(得分:5)

不 - 仍然需要使用:

  • 拆分函数,表值CLR或表值函数
  • 动态SQL