gpt4 book ai didi

来自连接字符串的 SQL where 子句

转载 作者:行者123 更新时间:2023-12-04 06:48:27 25 4
gpt4 key购买 nike

我有一个字符串,其中包含一个逗号分隔的 id 列表,我想在 where 子句中使用它。

我怎样才能做到这一点?基本上我有:

set @ids = '5,8,14,5324,'

SELECT * FROM theTable WHERE Id IN (@ids)

但@ids 是一个varchar,而Id 是一个int。

任何想法都非常感谢。

最佳答案

另一种替代动态 SQL 的选择是将 @ids 解析为 #TempTable(解析函数的一个示例是 here),然后对其进行连接。

select *
from theTable t1
inner join #TempTable t2
on t1.Id = t2.Id

或者您可以完全绕过#TempTable(以下代码假定上面链接中的解析功能)
select *
from theTable t1
inner join dbo.fnParseStringTSQL(@ids, ',') t2
on t1.Id = cast(t2.string as int)

关于来自连接字符串的 SQL where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3462571/

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