如何参数化包含具有可变数量参数的 IN
子句的查询,例如这个?
SELECT * FROM Tags
WHERE Name IN ('ruby','rails','scruffy','rubyonrails')
ORDER BY Count DESC
在此查询中,参数的数量可以是 1 到 5 之间的任何值。
我不希望为此(或 XML)使用专用的存储过程,但如果有一些特定于 SQL Server 2008 的优雅方式,我对此持开放态度。
原文由 Jeff Atwood 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是我使用的一种快速而肮脏的技术:
所以这里是 C# 代码:
两个警告:
LIKE "%...%"
查询未编入索引。|
、空白或空标签,否则这将不起作用还有其他方法可以实现这一点,有些人可能会认为更清洁,所以请继续阅读。