我有这样的SQL Server查询:如何将SQL Server中的select查询中的数组传递给IN运算符作为参数?
SELECT *
FROM Customers
WHERE CustomerID IN ('4','11',"16");
而是传递一个参数('4','11',"16")
这样的,我想创建一个这样的数组变量[4,11,16]。我想这发送到上面的查询。我怎样才能做到这一点?我尝试了下面的查询,但它不起作用。
有人可以帮我吗?
SELECT *
FROM Customers
WHERE CustomerID IN (['4','11',"16"]);
T-SQL没有数组的概念;你可以在客户端构造字符串或者使用表值参数和IN(SELECT ...) - 规范性阅读:[SQL Server 2005及更高版本中的数组和列表](http://www.sommarskog.se /arrays-in-sql-2005.html) –