小编hqr*_*sie的帖子

将变量设置为 IN 语句的字符串列表

我可以在不使用动态 SQL 的情况下将字符串列表分配给一个变量以在 IN 语句中使用吗?

我正在 SSRS 中开发一个报告,它允许用户选择三个可能的值之一作为参数,然后将与该选择关联的值分配给 IN 语句。有些参数有一个关联的值,有些有多个。

情况 1 和 2 运行正常,但情况 3 不能正常运行,因为它是作为标量值而不是列表传递的。我尝试了各种方法来转义每个项目周围的引号,但它不起作用。

declare @items as varchar(50)
set @items =
  CASE @parameter
    WHEN 1 then 'first'
    WHEN 2 then 'second'
    WHEN 3 then 'third, fourth'
  END

select column1
from table1
where column1 IN (@items)
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server-2008 ssrs-2008

2
推荐指数
1
解决办法
7871
查看次数

标签 统计

sql-server-2008 ×1

ssrs-2008 ×1

t-sql ×1