我有一个问题:
Select sum(net_sales)
from Sales_tb
where Store_number in (@list)
显然我不能在in
子句中使用参数。
我需要通过vb.net程序传递@list。
一个例子是:'1,5,6'
如何实现这一点,因为参数实际上不是一个选项?
答案 0 :(得分:2)
如果您传递的是VARCHAR
逗号分隔列表,那么您需要一个字符串拆分器。 Aaron Bertrand编写了一个article来比较分割字符串的不同方法。
SELECT SUM(net_sales)
FROM Sales_tb
WHERE
Store_number IN (SELECT Item FROM dbo.SplitStrings(@list, ','))
答案 1 :(得分:0)
传递一个表,而不是一个字符串。 SQL Server 2008具有表值参数。