我不熟悉oracle但必须使用PHP / PLSQL来查询oracle数据库。这些数据很旧,并且保存得很糟糕。
例如,一个人的名字可以说ÇİĞDEM
可以用几种不同的方式保存,例如CIGDEM
或ÇÝÐDEM
或ÇIĞDEM
或CİĞDEM
等:(
到目前为止所做的是用replace
替换我发现的字符,但我不喜欢它。它适用于大多数情况,但我不能接受这一点。它应该适用于所有可能的组合。
SELECT ... FROM ... WHERE replace(replace(CONVERT(ADI, 'US7ASCII', 'US7ASCII'), chr(221), 'I'), 'Ü', 'U') LIKE :myvariablehere ...
是否有一种搜索此类数据的优雅方式
修改
数据库版本为10g
答案 0 :(得分:0)
我对使用oracle SQL的Knuth soundex函数有很好的经验。或者按照http://docs.oracle.com/cd/E18283_01/text.112/e16594/search.htm
中的描述使用Oracle Text 祝你好运!