首页 > 解决方案 > How do I pass multiple values to parameter?

问题描述

I am trying to pass a single or multiple input variable in my select statement

I tried using an IN statement

DECLARE @LOANKIND VARCHAR(100)
SET @LOANKIND = 'Payables - Loan,Payables - Lines of Credit'
SELECT * from Table
WHERE LOANKIND.KIND_DESC IN (@LOANKIND)

All of my possible values are:

Payables - Loan,Payables - Lines of Credit,Payables - Recoverable Grant,Payables - Grant,Payables - Bonds,Payables - Guarantee,Receivables - Loan,Receivables - Lines of Credit,Receivables - Recoverable Grant,Receivables - Guarantee

标签: sql-servertsql

解决方案


您可以为此使用动态查询。如下所示:

DECLARE @sql nvarchar(max)
DECLARE @LOANKIND VARCHAR(100)
SET @LOANKIND = '''Payables - Loan'', ''Payables - Lines of Credit'''
SET @sql = 'SELECT * from Table WHERE LOANKIND.KIND_DESC IN (' + @LOANKIND + ')'

SP_EXECEUTESQL @sql

推荐阅读