SQL在查询中使用逗号分隔的字符串

时间:2019-04-25 18:24:48

标签: sql sql-server stored-procedures

我正在使用存储过程,并用逗号将字符串传递给它,如下所示:

Apple,Banana,Orange

我想在IN子句中使用此字符串,但我不想使用

SELECT value 
FROM STRING_SPLIT(@MyStr, ',')

如何生成可以像这样使用的字符串

SELECT * 
FROM MyTable 
WHERE Fruit IN (@MyStr)

1 个答案:

答案 0 :(得分:6)

只需使用子查询:

select *
from mytable
where fruit in (select value from STRING_SPLIT(@MyStr, ','));

在旧版SQL Server中,您可以使用like

select *
from mytable
where ',' + @MyStr + ',' like '%,' + fruit + ',%';