Sql server Sql Server-在表列中查找两个单词
我想从表中选择数据,如果表A包含这些单词>“word1”,“word2”: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
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之间加上“或”