将参数传递给 SQL Server 中的 IN 子句

San*_*San 5 stored-procedures sql-server-2005 in-clause

可能的重复:
参数化 SQL IN 子句?
SQL Server - 带有声明变量的 In 子句

你好,

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

询问:

SELECT Topics.Topic_Id  FROM Topics 
    Where Topic_Description IN (''+ @Topics +'')    
Run Code Online (Sandbox Code Playgroud)

当参数具有单个值时,此查询有效。我的参数可以有逗号分隔的多个值,例如:“一”、“二”、“三”、“四”。但是只要有多个参数,查询就会失败。如何克服这个?请建议。

谢谢

我必须将上述内容用作存储过程的一部分。我必须将选择查询的结果放入如下游标中:

DECLARE cur_TopicIDs CURSOR FOR SELECT Topics.Topic_Id FROM Topics Where Topic_Description IN (''+ @Topics +'')....等

在这种情况下,我如何按照其他链接中的建议使用动态 sp

小智 3

使用此处的任何拆分函数: http://www.sqlteam.com/forums/topic.asp ?TOPIC_ID=50648

  • 上面的 URL 将我引导至 URL http://www.sql-server-helper.com/functions/comma-delimited-to-table.aspx 解决了我的问题 (3认同)