【问题标题】: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 是表的主键吗? (也许是个愚蠢的问题,但我没有其他想法)

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


【解决方案1】:

我同意“基思”。

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

试试

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

【讨论】:

  • 好吧,一切都完全一样……对我来说,这看起来像是一个错误。我通过使用动态 sql 的额外开销将所有内容更改为对我有用的方式。无论如何,非常感谢您的意见...
猜你喜欢
  • 2016-06-14
  • 2016-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-26
  • 1970-01-01
  • 2022-10-18
  • 1970-01-01
相关资源
最近更新 更多