12

我有一个表名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运算符这样的行。

怎么做:?

请帮忙

提前致谢

4

2 回答 2

15

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

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

它肯定会奏效。

于 2013-06-14T07:51:38.463 回答
1

select * from product where FREETEXT (product. ,'"1340 "')

于 2016-06-01T12:49:20.633 回答