Sql Informix不区分重音的搜索
是否有任何方法(函数、配置选项等)强制informix忽略搜索时的重音符号 例如:Sql Informix不区分重音的搜索,sql,informix,diacritics,Sql,Informix,Diacritics,是否有任何方法(函数、配置选项等)强制informix忽略搜索时的重音符号 例如: select id, name from user where name like 'conceição%' 返回: 1 | conceicao oliveira 2 | conceiçao santos 3 | conceicão andrade 4 | conceição barros 据我所知,不是直接地谢谢你。您可以安装。使用它的功能。将查询替换为以下内
select id, name from user where name like 'conceição%'
返回:
1 | conceicao oliveira
2 | conceiçao santos
3 | conceicão andrade
4 | conceição barros
据我所知,不是直接地谢谢你。您可以安装。使用它的功能。将查询替换为以下内容:
where regexp_match(name , 'concei[çc][ãa][o]%')
或者,如果您没有该选项,我会添加另一个“normalized_name”列。将所有重音字符替换为“标准”字符。然后在此基础上查询我的表
name='conceiçao santos',normalized_name='conceicao santos'
添加规范化列还将确保您不依赖于任何模块或任何特定数据库。哪种风格(IDS、XPS)和Informix版本?我们曾考虑使用规范化列,但由于系统的大小和必须完成的列数,这是最后一个资源选项。我刚刚发现Informix有一个MATCHES子句,类似于LIKE,我可以使用它来执行您对regexp_match的建议,我们可能会使用它。尽管如此,更改所有查询仍需要大量的工作,如果Informix为重音不敏感的搜索提供了一个全局选项,那就太好了。我错过了关于MATCHES操作符的部分。它是内置的。它确实有全球语言支持(GLS),但我不认为它会做你需要它做的事情。我为波多黎各的典当行开发了一个isql应用程序。我升级了所有alpha数据输入,并使用了英文字符集,以避免查询、排序顺序和必须按额外键的问题!isql 4.10没有GLS,如果遇到非英语字符,isql会咳嗽!使用英语也简化了事情,它是全球商业语言!