sql-server - 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
解决方案
您可以为此使用动态查询。如下所示:
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
推荐阅读
- android - Cordova Android 应用程序强制在构建后关闭
- php - CI4 从选定的字符串中插入 ID
- python-3.x - Anaconda3 的 IPython.frontend.terminal.embed 包在哪里?
- php - 如何从 json 内容中提取键和值?
- r - R:删除除方括号“[”“]”和问号“?”之外的标点符号
- python - Selenium Python 文本的下标
- c# - 在 Asp.Net 中有效地转发响应体
- css - 使用 CSS 表达样式
- python - 通过子类化创建的自定义层中缺少权重
- python - Pyspark rdd 到数据框的转换