是否可以决定两个字符串的匹配百分比 使用plsql的soundex函数返回代码?
答案 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;