大家好我在这里努力使用COLLATE来忽略重音,同时也使用包含全文。
我已经将列搜索减少到这里的示例只有一个,并且我只是硬编码实际参数,直到我理解它为止。
如果我有
SELECT
Col1,
Title COLLATE SQL_Latin1_General_Cp850_CI_AI AS Title,
ColX
FROM
Foo
WHERE
CONTAINS((Title), '"suenos" OR "french"')
这只会返回法语结果。如果我在例如:
之后添加外卡 WHERE
CONTAINS((Title), '"suenos*" OR "french"')
我得到了Sueños和法语的结果。我已经注意到了LIKE和COLLATE的相同行为,例如它只有'suenous%'的词与'suenos'相对应。
为什么会这样?
非常感谢。
答案 0 :(得分:7)
假设:您使用的是sql2005或更高版本。
我相信你需要在首次创建索引时将Accent Sensitivity设置为ON或OFF。
CREATE FULLTEXT CATALOG AwCat WITH ACCENT_SENSITIVITY=OFF
GO
或改变它:
ALTER FULLTEXT CATALOG AwCat REBUILD WITH ACCENT_SENSITIVITY=ON
GO