我使用具有特殊字符的语言(例如:e->é)。我有一个查询 LIKE 但是,当我用特殊字符搜索一个单词,而我的查询没有特殊字符时,我不会得到我期望的结果:

select * from a where name like '%e%'

当数据库包含“dés”时,以上没有结果。有没有办法让此查询返回所需的结果。

有帮助吗?

解决方案

您可能需要尝试冒险的东西,例如在逃生序列中进行编码。

select * from a where name like '%' & chr$(numberforcharacter) & %'

其他提示

如果您的数据库的整理设置为强调不敏感,那么(对于大多数重音字符)应该起作用。

例如,在整理latin1_general_ci_as中,CS表示病例不敏感,强调敏感。你要整理 latin1_general_ci_ai 这意味着案例不敏感, 口音不敏感

不过,请警告说,并非所有“重音”角色都是平等创建的,但是对于西班牙和法语搜索,我发现事情可以按预期工作。

我终于将我认识的特殊字符替换为一个%

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top