忽略包含中的撇号

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,但这是不同的。重音不敏感适用于带有重音符号的字母,撇号 != 重音符号。

以上是关于忽略包含中的撇号的主要内容,如果未能解决你的问题,请参考以下文章

替换 bq SQL 中的撇号或引号

XPath 查询中的撇号 (')

将 ' 转换为 PHP 中的撇号

XML 字符串文件中的撇号

Selenium IDE - 由于字符串中的撇号,“执行脚本”中的变量无法使用

任何允许 Pivot 中的撇号 SQL 列别名的安全问题?