oracle - 查询具有非拉丁字符的数据

时间:2014-02-01 21:36:51

标签: sql oracle

我不熟悉oracle但必须使用PHP / PLSQL来查询oracle数据库。这些数据很旧,并且保存得很糟糕。

例如,一个人的名字可以说ÇİĞDEM可以用几种不同的方式保存,例如CIGDEMÇÝÐDEMÇIĞDEMCİĞDEM等:(

到目前为止所做的是用replace替换我发现的字符,但我不喜欢它。它适用于大多数情况,但我不能接受这一点。它应该适用于所有可能的组合。

SELECT ... FROM ... WHERE replace(replace(CONVERT(ADI, 'US7ASCII', 'US7ASCII'), chr(221), 'I'), 'Ü', 'U') LIKE :myvariablehere ...

是否有一种搜索此类数据的优雅方式

修改

数据库版本为10g

1 个答案:

答案 0 :(得分:0)

我对使用oracle SQL的Knuth soundex函数有很好的经验。或者按照http://docs.oracle.com/cd/E18283_01/text.112/e16594/search.htm

中的描述使用Oracle Text 祝你好运!