Sql server Sql Server-在表列中查找两个单词

Sql server Sql Server-在表列中查找两个单词,sql-server,stored-procedures,Sql Server,Stored Procedures,我想从表中选择数据,如果表A包含这些单词>“word1”,“word2”: DECLARE @find varchar(30) = 'word1+word2' 我想要这样的东西: select * from tableA where tableA.title like '% word1 %' or tableA.title like '% word2 %' or tableA.keyWord like '% word1 %' or tableA.keyWord like '% word2

我想从表中选择数据,如果表A包含这些单词>“word1”,“word2”:

DECLARE @find varchar(30) = 'word1+word2' 
我想要这样的东西:

select * from tableA 
where tableA.title like '% word1 %' or tableA.title like '% word2 %'
or tableA.keyWord like '% word1 %' or tableA.keyWord like '% word2 %'
@word1 = 'word1'
@word2 = 'word2'
注意:我的条件加上“或”和“否”。 首字母必须拆分为@find,如下所示:

select * from tableA 
where tableA.title like '% word1 %' or tableA.title like '% word2 %'
or tableA.keyWord like '% word1 %' or tableA.keyWord like '% word2 %'
@word1 = 'word1'
@word2 = 'word2'
你知道吗

试试这个:

DECLARE @findWord1 varchar(30) = 'word1' 
DECLARE @findWord2 varchar(30) = 'word2' 

select 
  * 
from 
  tableA 
where 
  tableA.title like '%' +  @findWord1 + '%' or tableA.title like '%' +  @findWord2 + '%'
  or 
  tableA.keyWord like '%' +  @findWord1 + '%' or tableA.keyWord like '%' +  @findWord2 + '%'

试试像

declare @VarCodes varchar(max), @Xml XML;
set @VarCodes = 'word1,word2'

SET @Xml = N'<root><r>' + replace(@VarCodes, ',','</r><r>') + '</r></root>';

WITH X AS 
(
 select '%' + r.value('.','varchar(max)') + '%'as item
 from @Xml.nodes('//root/r') as records(r)
)
select * from tableA A
INNER JOIN  X  ON A.title LIKE  x.item
UNION 
select * from tableA A
INNER JOIN  X   ON A.keyWord LIKE  x.item

谢谢你的回答,但是你的答案是在单词1和单词2之间的“AND”。我想在单词1和单词2之间加上“或”