簡體   English   中英

存儲過程-帶有IN子句sql的多個字符串參數

[英]Stored procedure - Multiple string parameters with IN clause sql

我想使用存儲過程來過濾行。 以下是我的查詢

   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子句傳遞多個字符串?

一種方法是

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中找到更多方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM