包含和可包含之间的区别?

Posted

技术标签:

【中文标题】包含和可包含之间的区别?【英文标题】:differences between contains and containstable? 【发布时间】:2014-06-15 17:28:30 【问题描述】:

我有以下在技术上应该是等效的查询:

第一

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

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

这里有什么我遗漏的吗?

谢谢!

【问题讨论】:

您确定 Product_ID 是表的主键吗? (也许是个愚蠢的问题,但我没有其他想法) 【参考方案1】:

我同意“基思”。

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

试试

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

【讨论】:

好吧,一切都完全一样……对我来说,这看起来像是一个错误。我通过使用动态 sql 的额外开销将所有内容更改为对我有用的方式。无论如何,非常感谢您的意见...

以上是关于包含和可包含之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章