在SQL Server中传递参数到IN子句中

17 浏览
0 Comments

在SQL Server中传递参数到IN子句中

这个问题已经在这里有答案了

可能有重复:

如何将SQL中的IN子句参数化?

使用已声明变量的SQL Server - IN子句

你好,

我在将参数传递给“IN”子句时遇到了问题。我正在使用以下查询。

查询:

SELECT Topics.Topic_Id  FROM Topics 
    Where Topic_Description IN (''+ @Topics +'')    

当参数只有单个值时,此查询有效。我的参数可能有逗号分隔的多个值,如:“one”,“two”,“three”,“four”。但是每当有多个参数时,查询就会失败。如何解决这个问题?请建议。

谢谢

我必须将其用作存储过程的一部分。我必须像下面一样将查询的结果传入游标:

DECLARE cur_TopicIDs CURSOR FOR

SELECT Topics.Topic_Id FROM Topics Where

Topic_Description IN (\'\'+ @Topics +\'\')....等等

在这种情况下,我该如何使用其他链接中建议的动态存储过程?

admin 更改状态以发布 2023年5月22日
0
0 Comments

你需要创建一个格式为one','two','three的字符串作为@Topics中的值。

编辑:-
然后你需要使用EXEC sp_executesql来执行你的SQL语句。在spender给出的链接中,对你的问题进行了适当的解释。

0
0 Comments

使用以下任意一个分割函数:
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50648

0