【问题标题】:Stored procedure - Multiple string parameters with IN clause sql存储过程 - 带有 IN 子句 sql 的多个字符串参数
【发布时间】:2014-05-24 00:32:34
【问题描述】:

我想使用存储过程过滤行。以下是我的查询

   Create PROCEDURE [dbo].[Test]      
   @SearchTerm VARCHAR(100)        
   AS      
   BEGIN     

        Select * from master where name in (@SearchTerm)

   END

在后面的代码中,

    cmd.Parameters.AddWithValue("@SearchTerm", "peter")

当我使用上述参数运行时,它工作正常。

但是当我这样通过时 cmd.Parameters.AddWithValue("@SearchTerm", "'peter','rahul'")

这次没有获取行。

我手动试了,还是不行。

    exec Test ''peter','rahul''

请帮助我,如何使用 IN 子句传递多个字符串?

【问题讨论】:

标签: asp.net sql stored-procedures in-clause


【解决方案1】:

一种方法是

Create PROCEDURE [dbo].[Test]      
   @SearchTerm VARCHAR(100)        
   AS      
    BEGIN     
      Select * from master where ','+@SearchTerm+',' like '%,'+name+',%'

您可以在http://www.sommarskog.se/arrays-in-sql-2008.html找到更多方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多