1

我试图让全文搜索在 SQL Server 2008 R2 中工作。我一直在与我们的管理员合作,我们相信我们有一个成功设置索引的目录。现在,我正在尝试使用全文函数查询索引表

这没有问题:

select *
from mPages
where contains(bodytext, ' "a dog" ')

但是,当我尝试使用 获取排名值时containstable(),出现错误。

select mPages.bodytext, KEY_TBL.RANK
from mPages
     INNER JOIN
     CONTAINSTABLE(mPages, bodyText,
                    'dog') AS KEY_TBL
     ON mPages.pageID = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK DESC;

错误:

Msg 245, Level 16, State 1, Line 2
Conversion failed when converting the nvarchar value 'About' to data type int.

“关于”值位于名为 的列中pagename。我不明白如何让这个错误消失。

有什么帮助吗?

4

1 回答 1

0

它可能在抱怨这条线:

ON mPages.pageID = KEY_TBL.[KEY]

假设pageID是 a int,它将尝试将 转换key为 aint以便可以比较列。转换没有按计划进行。

于 2011-05-10T19:18:37.587 回答