contains和containsstable之间的区别?

时间:2014-04-29 16:34:50

标签: sql sql-server-2012 full-text-search contains containstable

我有以下在技术上等同的查询:

第一

select Product_ID from ProductSearchIndexData psid
where Product_ID = 946 and contains(psid.[Text], '("exp*")')

第二

SELECT [key] as Product_ID, rank
FROM CONTAINSTABLE(ProductSearchIndexData, [Text], '("exp*")')
where [key]= 946

第一个返回正确的结果,而另一个返回no。

这里有什么我想念的吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我同意" Keith"。

[key]字段返回符合条件的行的全文键值。 在您的情况下,不是productProduct_id是搜索表中的关键字。

SELECT [key], Product_ID, rank
FROM CONTAINSTABLE(ProductSearchIndexData, [Text], '("exp*")')
where Product_ID = 946