我有一个表,其中有一列包含一串逗号分隔值 (CSV)。
例如 VALUE1、VALUE2、VALUE3
作为过滤器传入的是另一组 CSV。
例如 VALUE2、VALUE3
因此,在上面的示例中,查询应返回任何过滤器值位于 CSV 列中的任何记录。
例子
declare @table table
(
rownum int,
csv nvarchar(300)
)
insert into @table values (1,'VALUE1, VALUE2, VALUE3')
insert into @table values (2,'VALUE1, VALUE2')
insert into @table values (3,'VALUE1, VALUE3')
insert into @table values (4,'VALUE3, VALUE4')
insert into @table values (5,'VALUE1, VALUE2, VALUE3')
insert into @table values (6,'VALUE3, VALUE4, VALUE2')
insert into @table values (7,'VALUE3')
declare @Filter nvarchar(50)
set @Filter = 'VALUE1,VALUE2'
select * from @table
因此,在上面的示例中,第 1、2、3、5 和 6 行应该由查询返回,因为它们都包含 VALUE1 或 VALUE2。