我有一个表名Product包含3列,如下所示:

Product-id
name
Price

name列中,显示所有产品名称。

例如:1340 GPS,1340T GPS等。

当我写
select top 10 * from product where contains(name,'1340');

结果1行1340 GPS
但是当我搜索
select top 10 * from product where name like '%1340%';

然后结果是1340 GPS and 1340T GPS

实际上,我的要求是我将使用contains(),但是它必须像LIKE运算符一样显示两行。

怎么做:?

请帮忙

提前致谢

最佳答案

这是执行此操作的直接方法。您可以在包含类似于like运算符的语法之前使用“*”。但是您需要在搜索字符串前后使用双引号。检查以下查询:

SELECT *
FROM product
WHERE CONTAINS(name,'"*1340*"');

它肯定会工作。

关于sql-server - 在SQL Server中使用contains(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17102457/

10-12 15:20