【发布时间】:2011-06-09 20:53:23
【问题描述】:
我有一个在标题列上启用全文搜索的表格。我尝试使用包含表进行加权搜索,但我得到 Rank 值的算术溢出。查询如下
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 函数中,查询成功完成。
请注意,如果没有结果查询成功完成,则需要有一些结果。
有人知道怎么解决吗?
这个问题也在dba.stackexchange.com
【问题讨论】:
-
您能否添加一些重现问题的示例数据?我曾尝试自己创建一些示例,但无法重新创建。另外,如果您在选择中删除 CAST 会发生什么?
-
如果我放弃演员表,我会得到同样的错误。问题出在 CONTAINSTABLE 函数内部。我无法向您提供任何数据,因为这些数据属于我的客户。当我操纵谓词时,我会说些什么。如果我删除了一个特殊字符(&、#、;),查询就会成功运行。
标签: sql-server-2008 full-text-search weighted