我有一个在Title列上启用全文搜索的表。我尝试使用containstable进行加权搜索,但是得到Rank值的算术溢出。查询是遵循SQL Server 2008 Containstable通过weighted_term生成负排名
SELECT ID, CAST(Res_Tbl.RANK AS Decimal) AS Relevancy , Title
FROM table1 AS INNER JOIN
CONTAINSTABLE(table1,Title,'ISABOUT("pétoncle" weight (.8), "pétoncle" weight (.8), "PÉTONCLE" weight (.8))',LANGUAGE 1036) AS Res_Tbl
ON ID = Res_Tbl.[KEY]
当我执行此查询,我得到:算术溢出错误int类型,值= -83886083125.000076。
如果我删除两个';'中的一个'在ISABOUT函数中,查询成功完成。
请注意,如果没有结果成功完成查询,则需要获得一些结果。
有人知道如何解决这个问题吗?
您可以添加一些重新创建问题的示例数据吗?我曾尝试自行创建一些示例,但无法重新创建此示例。此外,如果您在选择中删除CAST会发生什么情况? – Richard 2011-08-17 14:59:12
如果我放弃演员,我得到相同的错误。麻烦在CONTAINSTABLE函数中。我无法为您提供任何数据,导致数据属于我的客户。当我操纵谓词时,我会说点什么。如果我删除了一个特殊字符(&,#,;),则查询成功运行。 – Nico 2011-08-17 22:30:22