我使用Java,Spring,Ibatis,Oracle数据库。
在该数据库中,我们有1个表是Street,具有1000万条记录,重要的列是street_name。
在GUI中,我必须按街道搜索公司,例如:街道名称输入为Schonburgstrasse,但DB中的正确数据为:Schönburgstrasse(德语)
您可以看到,主要区别在于:o和ö。而且可以肯定的是,我无法通过SQL找到该记录:
Select * from Street where street_name = 'Schonburgstrasse';
规则是:
我无法再更改数据库架构。
我无法将1000万条记录一一归一化。之后比较数据
(归一化方法,我将具有从以下位置进行转换的功能:从Schönburgstrasse,到:Schonburgstrasse)
我必须注意性能问题。
谢谢你的时间。
最佳答案
尝试使用Oracle SOUNDEX命令,因此查询将如下所示:
Select * from Street where soundex(street_name) = soundex('Schonburgstrasse');
关于java - 比较街道名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47529018/