首页 > 解决方案 > 如何从 Excel 工作表在 MS SQL Server 中的 SQL 查询中传递参数

问题描述

假设我在 SQL Server 中有这个查询:

select * 
from Table1 
where Column1 IN ('01061120192T') 

我想Column1从 Excel 工作表中的列传递值。

我可以将单个值传递给这里提到的查询。但是 IN 的括号可以接受多个值,所以我想从 Excel 工作表的列中传递括号中的 1000 个值。

尝试将多个值传递给参数,如下所示,但这不起作用。

=Sheet1!$G$1:$G$5

在此处输入图像描述

标签: sql-serverexcelmicrosoft-query

解决方案


您将 SSIS 中的变量作为 ? 传递,然后在参数映射窗格中定义您的变量。

select * 
from Table1 
where Column1 = ?

然后,您需要转到参数映射窗格并单击添加。在变量名称列中选择您的变量名称。然后输入作为方向。将参数大小保留为 -1。


推荐阅读