我有一个以逗号分隔的关键字字符串,我已使用带有@String
并返回一个 TABLE(Value varchar(30))
我现在可以在 where 子句中使用此列表,如下所示:
SELECT project.*
FROM Projects project
WHERE project.title IN (SELECT * FROM dbo.ParamsToList('.net,test'))
这与project.title 恰好(等于)任何一个关键字(.net 或test)相匹配。
我需要的是匹配标题所在的位置LIKE '%' + any-keyword + '%'
.
一种方法是这样的:
SELECT project.*
FROM Projects project
WHERE EXISTS
(
SELECT * FROM dbo.ParamsToList('.net,test') x
WHERE project.title LIKE '%' + x.value + '%'
)
这种方法意味着,如果项目与参数列表中的多个值匹配,您不会多次返回同一项目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)