我在表中有一个可以包含字符串的列CSV
,我想使用 LIKE 对所有这些值运行查询,该 LIKE 是外连接的 ON 子句的一部分。
DECLARE @to VARCHAR(max) = (SELECT value FROM dbo.table WHERE id = 'key');
DECLARE @t table ( value varchar(max) )
INSERT INTO @t SELECT item FROM fn_csv_splitstring ( @to , ',' )
获得所有 CSV 值后,我现在希望将临时表中的每个值用作 LIKE 关键字的表达式,类似于以下选择
SELECT * FROM
dbo.table e
where e.value LIKE '%' + (SELECT value FROM [@t]) + '%'
确切的语句用于左外连接语句,ON 子句链接两个表行 ID
e.id = t.id
,然后有一个附加的 AND 表达式 AND e.value LIKE 'col%'
此时我需要能够将我的临时表中的所有行作为一堆OR LIKE '%'
或其他东西充当LIKE '%' + (SELECT value FROM [@t]) + '%'
我已经尝试过IN
关键字,但IN
似乎只适用于完全匹配而不是通配符。
提前致谢。