gpt4 book ai didi

sql-server - 用于保存整数列表的 SQL 变量

转载 作者:行者123 更新时间:2023-12-01 16:36:38 25 4
gpt4 key购买 nike

我正在尝试调试其他人的 SQL 报告,并将基础报告查询放入 SQL 2012 的查询窗口中。

报告要求的参数之一是整数列表。这是通过报告上的多选下拉框实现的。报表的基础查询在 where 子句中使用此整数列表,例如

select *
from TabA
where TabA.ID in (@listOfIDs)

我不想修改正在调试的查询,但我不知道如何在 SQL Server 上创建一个可以保存此类数据的变量来测试它。

例如

declare @listOfIDs int
set listOfIDs = 1,2,3,4

没有可以保存整数列表的数据类型,那么如何使用与报表相同的值在 SQL Server 上运行报表查询?

最佳答案

Table variable

declare @listOfIDs table (id int);
insert @listOfIDs(id) values(1),(2),(3);

select *
from TabA
where TabA.ID in (select id from @listOfIDs)

declare @listOfIDs varchar(1000);
SET @listOfIDs = ',1,2,3,'; --in this solution need put coma on begin and end

select *
from TabA
where charindex(',' + CAST(TabA.ID as nvarchar(20)) + ',', @listOfIDs) > 0

关于sql-server - 用于保存整数列表的 SQL 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18371968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com