我有一个表名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/