可能重複:
T-SQL stored procedure that accepts multiple Id values
Parameterizing a SQL IN clause?選擇從一個varchar值在聲明
我有誰有一個過濾系統,選擇值的存儲過程。 想象一個表
ColA | ColB | ColC |
'A' 12 1
'B' 13 2
'C' 14 3
我需要給存儲過程的那些COLC值的列表中選擇所需的值,例如(1,3) 會給我「A」和「C」。
我知道這是可以做到像在聲明:
Select *
from Table
where ColC in (1,3)
但是,如何讓這個充滿活力?一個解決方案將是在一個Varchar變量中構建sql命令,如
SET @MyList ='(1,3)'
SET @SQL = '
Select *
from Table
where ColC in ' + @MyList
And then execute @SQL
但這是最好的方法嗎?爲了使這樣的動態命令不是太重?
感謝您的建議。
您正在使用哪個版本的SQL Server? – AdaTheDev
我不會相信這個用戶輸入沒有額外的驗證(ID列表)。 –
Sql server 2008對不起,我編輯標籤 – bAN