是否可以通过pl sql soundex函数使用代码返回来确定匹配百分比

时间:2011-12-12 11:16:13

标签: database oracle plsql

是否可以决定两个字符串的匹配百分比 使用plsql的soundex函数返回代码?

2 个答案:

答案 0 :(得分:1)

Soundex对于匹配字符串并不是非常可靠,特别是一旦它们超过一定长度,你可能想要查看UTL_MATCH包选项。

您可以在UTL_MATCH包中使用Jaro-Winkler方法。 SO上有一个类似的问题: How can I use jaro-winkler to find the closest value in a table?

UTL_MATCH文档位于:http://docs.oracle.com/cd/E14072_01/appdev.112/e10577/u_match.htm

这里也有一些关于匹配字符串的好文档:http://docs.oracle.com/cd/E11882_01/owb.112/e10935/match_merge.htm

希望这会有所帮助......

答案 1 :(得分:0)

差异函数将两个字符串转换为其Soundex代码,然后报告匹配代码位置的数量。由于Soundex代码有四个字符,因此结果范围从0到4,其中0表示不匹配,4表示完全匹配。 (因此,该函数被错误命名 - 相似性将是一个更好的名称。)

SELECT * FROM s WHERE difference(s.nm, 'john') > 2;