设置IN语句的范围

时间:2017-11-23 10:55:03

标签: sql-server-2012

是否可以设置一系列产品以用于Select IN语句 例如,我可以重写以下内容:

Select Country, SUM(POPULATION) as cPopulation
FROM MyTable
WHERE Country IN ('FRANCE', 'GERMANY', 'SPAIN')

DECLARE @Countries nvarchar(max)
SET @Countries = 'FRANCE', 'GERMANY', 'SPAIN'  /*is this possible?*/

Select Country, SUM(POPULATION) as cPopulation
FROM MyTable
WHERE Country IN (@Countries)

这是否可能

亲切的问候

1 个答案:

答案 0 :(得分:0)

不,你必须创建一个表变量或临时表,并进行IN或连接或类似的事情。

你可以做到

Where '/France/Germany/spain/' like '%/'+country+'/%'

但是性能会受到影响,因为它会进行扫描。