题
我使用具有特殊字符的语言(例如: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 这意味着案例不敏感, 口音不敏感
不过,请警告说,并非所有“重音”角色都是平等创建的,但是对于西班牙和法语搜索,我发现事情可以按预期工作。
我终于将我认识的特殊字符替换为一个%
不隶属于 dba.stackexchange