我有一個在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