2

我有一个字符串作为参数传递给我的存储过程。

dim AgentString as String = " 'test1', 'test2', 'test3' "

我想在IN语句中使用该参数。

AND M.SalesRep IN (@AgentString)

但是,这似乎不起作用。在此先感谢您的时间。

4

2 回答 2

2

或者,您可以进行字符串比较。

dim AgentString as String = "test1,test2,test3"

然后有:

where ','+AgentString+',' like '%,'+M.SalesRep+',%'

我在所有内容之前和之后都放了逗号,所以“ed”与“edith”不匹配。

于 2012-08-20T00:23:41.057 回答
1

那是因为您agentString被解释为单个字符串,而不是值列表。如果参数数量是固定的,可以使用:

AND M.SalesRep IN (@agent0,@agent1,@agent2)

然后分别绑定每个参数。

如果没有,您需要动态构建查询以获取上述表单,然后在循环中绑定每个参数。

于 2012-08-20T00:05:32.300 回答