忽略包含中的撇号
Posted
技术标签:
【中文标题】忽略包含中的撇号【英文标题】:Ignoring Apostrophes In Contains 【发布时间】:2011-03-20 00:49:18 【问题描述】:简单的问题,也许是一个困难的答案。我们使用的是 CONTAINS,但是当匹配包含撇号的条件时(因为这些是法国道路名称),显然它们不匹配。因此,例如,当数据库包含“L'islet”时搜索“Lislet”不会产生任何结果。
我曾研究过使用字典和同义词词典(SQL 功能),但不幸的是两者都做不到。叙词表看起来很有前途,但在我们的环境中进行测试后,很明显它们不支持撇号,这是一个很大的耻辱,因为它本来可以完美地工作。
我们唯一想做的另一件事是创建一个完全索引的视图,去掉撇号。
还有什么好主意吗?
【问题讨论】:
您是否已经尝试过进行字符串替换并使用 QUOTED_IDENTIFIER OFF? 我的句子“我们唯一想做的另一件事是创建一个完全索引的视图,去掉撇号”已经表明了这一点。您不应该从基础表中去掉撇号,因为这不是实际数据的准确表示。 【参考方案1】:您检查过数据库的全文目录吗?有一个口音敏感度选项。您可以选择敏感或不敏感。我认为您希望将其设置为不敏感,以便忽略撇号。
【讨论】:
我们之前直接在 SQL 中做过,您可以将其设置为 LATIN_GENERAL_CI_AI,但这是不同的。重音不敏感适用于带有重音符号的字母,撇号 != 重音符号。以上是关于忽略包含中的撇号的主要内容,如果未能解决你的问题,请参考以下文章