【发布时间】:2023-03-21 20:42:01
【问题描述】:
我有一个我想查询的项目列表。问题是列表中的项目数不是恒定的。例如
select * from table1 where
field1 like @value1 + '%' OR
field1 like @value2 + '%'
我想将value1、value2 等以逗号分隔的字符串或类似的形式传递到存储过程中。
【问题讨论】:
-
你试过什么?您可以查看动态 sql 以实现此目的。根据您实际返回的内容的性质,全文索引可能是另一种选择
-
This answer 似乎涵盖了所有选项。
-
这在 Linq 中很容易实现,但性能却不尽如人意。我认为存储过程可能有更好的性能。
-
一种方法是使用表值参数而不是使用逗号分隔的字符串等。
标签: sql sql-server tsql stored-procedures