【问题标题】:CONTAINSTABLE with wildcard works different in SQL Server 2005 and SQL Server 2008?带有通配符的 CONTAINSTABLE 在 SQL Server 2005 和 SQL Server 2008 中的工作方式不同?
【发布时间】:2010-06-17 05:15:40
【问题描述】:

我有两个相同的数据库,一个在 SQL Server 2005 上,一个在 SQL Server 2008 上,具有相同的 SQL_Latin1_General_CP1_CI_AS 排序规则,全文搜索目录具有相同的设置。

这两个数据库包含具有相同数据的表,NTEXT 字符串: “...kræve en forklaring fra miljøminister Connie Hedegaard..”

我的问题是:

如果查询是,SQL Server 2008 上的 CONTAINSTABLE 找不到任何内容:

select * from ContainsTable(SearchIndex_7, Content, N'"miljø*"') ct

但是 SQL Server 2005 可以完美运行并找到必要的记录。

如果查询是,SQL Server 2008 会找到必要的记录:

select * from ContainsTable(SearchIndex_7, Content, N'"milj*"') ct

select * from ContainsTable(SearchIndex_7, Content, N'"miljøminister"')

这种奇怪行为的原因是什么?

【问题讨论】:

  • 我刚试了一下,所有 3 个查询都在我的实例上运行(SQL 2008)。
  • 你能发布你的数据库备份吗?

标签: sql sql-server-2005 sql-server-2008 full-text-search containstable


【解决方案1】:

检查全文索引列中的默认语言

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    相关资源
    最近更新 更多