gpt4 book ai didi

c# - 传递我的逗号分隔字符串不会在 SQL 中生成结果

转载 作者:行者123 更新时间:2023-11-29 11:57:59 28 4
gpt4 key购买 nike

我需要将逗号分隔的字符串作为参数传递给存储过程。该字符串包含用逗号分隔的整数。然后我需要在 IN 子句中使用整数,例如,“其中引用值('50022056','50022073','50022075','50022072','50022086','50022095','50022074','50022077','50022100','50022101','50022106','50022107','50022108','50022109','50022110','50022111','50022112','50022113','50022115','50022116','50022117','50022118','50022119')”

现在我有一个参数传递给包含 string parameter ="50001362,50001414,50001437,50001630,50001643,50001659,50001775,50001272,50001276,50001220,500012226" 的存储过程

我尝试过使用动态 SQL 并执行其中引用值在('+@groupNumbers+')但是,我没有得到任何结果

在我的存储过程的顶部,我声明了变量

DECLARE @groupNumbers VarChar(1000)
SET @groupNumbers = '50008300,50002427'

SET 只是一个测试用例,用于查看如何使用逗号分隔的字符串返回结果。我需要将我的组编号字符串传递到此参数中并返回结果。目前我正在循环访问每个组号码并使用每个组号码调用查询。

关于我做错了什么有什么建议吗?我对 SQL 非常陌生。

谢谢

最佳答案

请引用我在另一篇SO帖子中的回答How to Convert a delimited string to a list

然后,当您决定使用 CLR 方法或 SQL UDF 方法后,您可以执行以下操作:

select *
from dbo.YourTableHere t
inner join dbo.fnArray(@groupNumbers, ',') g on t.somefield = convert(int, g.arrValue)

应该能得到你想要的。

关于c# - 传递我的逗号分隔字符串不会在 SQL 中生成结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32872734/

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