Arrays 如何将数组作为参数传递给SQL Server中select查询中的IN运算符?

Arrays 如何将数组作为参数传递给SQL Server中select查询中的IN运算符?,arrays,sql-server,select,Arrays,Sql Server,Select,我有以下SQL Server查询: SELECT * FROM Customers WHERE CustomerID IN ('4','11',"16"); 我不想像这样传递参数('4','11','16”),而是想创建一个数组变量,如[4,11,16]。我想把这个发送到上面的查询。我该怎么做?我尝试了下面的查询,但它不起作用 有人能帮我吗 SELECT * FROM Customers WHERE CustomerID IN (['4','11',"16"]); 您的初始查询是正确的,

我有以下SQL Server查询:

SELECT * 
FROM Customers
WHERE CustomerID IN ('4','11',"16");
我不想像这样传递参数
('4','11','16”)
,而是想创建一个数组变量,如[4,11,16]。我想把这个发送到上面的查询。我该怎么做?我尝试了下面的查询,但它不起作用

有人能帮我吗

SELECT * 
FROM Customers
WHERE CustomerID IN (['4','11',"16"]);

您的初始查询是正确的,不清楚为什么要将其更改为语法错误的版本


如果您已经有一个数组,那么只需使用join或等效工具输出所需的逗号分隔列表。

您的初始查询是正确的,不清楚为什么要将其更改为语法错误的版本


如果您已经有了一个数组,那么只需使用join或等效工具即可输出所需的逗号分隔列表。

T-SQL没有数组的概念;您可以在客户机中构造字符串,或者在(选择…-Canonical reading:T-SQL没有数组的概念;您可以在客户机中构造字符串,或者在中使用表值参数和
(选择…
-规范阅读:欢迎使用Stackoverflow;您应该将这样的答案放在注释中,因为它不会提供太多新的信息。我同意您的看法,将来也会这样做。为什么?因为我有一个客户ID的整数数组。我想将此数组传递给查询。您需要首先转换它,所以您需要最后是您需要的逗号分隔列表。不幸的是,您不能按照您的示例将数组传递给查询。欢迎使用Stackoverflow;您应该将这样的答案放在注释中,因为它不会提供太多新信息。我同意您的意见,并且将来也会这样做。为什么因为我有一个客户ID的整数数组。我想将此数组传递给查询。您需要首先对其进行转换,因此最终得到所需的逗号分隔列表。很遗憾,您不能按照示例将数组传递给查询。