在同一表列中使用多个关键字的SQL查询搜索操作

时间:2018-08-01 10:55:30

标签: sql sql-server

我有如下查询,其中产品名称为“ 国家的敌人(电影,蓝光)”,另一个产品名称为“ Samsung Galaxy Note 8 6.3” 64 GB手机”。用户只能搜索“ 三星”,或者用户可以搜索“ 三星Note ”,或者用户可以搜索“ 三星Note 8 ”,但在所有情况下结果都应带有正确的结果。其他产品也是如此。

select *
from Product
where Contains(name, '"Enemy*" and "Of*" and "The*"')

select *
from Product
where Contains(name, '"samsung*" and "Note*" and "8*"')

我没有得到正确的结果。任何人都可以帮助我。

2 个答案:

答案 0 :(得分:0)

下面的查询将返回产品表中找到“三星”一词的所有数据。

SELECT *
FROM Product
WHERE name LIKE '%samsung%'

答案 1 :(得分:-1)

要选择有几个子字符串的数据,可以将LIKE运算符用作:

SELECT * FROM Product WHERE name LIKE 'Samsung%Note%8%'

%字符可以用任何字符串替换,因此您可以根据需要对其进行调整。 但是,搜索是根据这些子字符串的顺序进行的,因此“三星”必须是第一个,“注意”是第二个,...

请注意,如果表中包含大量数据,则关联的查询可能会变慢。