加入兼容的百分比

时间:2014-05-28 08:46:23

标签: mysql sql

我必须将两个大数据表与客户的信息进行比较,只有兼容的是客户的地址。但是人们犯了错别字。是否有一个函数,我可以比较字符串与compability procent?就像table1.address 90%等于table2.address一样,它将返回true。

1 个答案:

答案 0 :(得分:0)

您正在寻找的功能是字符串距离计算。据我所知,在MySQL中没有内置函数可以做到这一点(修复我)。

广泛使用的算法是Levenshtein distance。此算法计算distance(必须进行更改计数才能使2个字符串相同)。 您可以在Wikipedia

上找到伪代码

这是MySQL中的一个实现:http://openquery.com.au/blog/levenshtein-mysql-stored-function

如果您将distancelength of the longest string分开,则会获得Levenshtein distance ratio。这就是你要找的东西。

在数据库中创建函数后,您可以将其用作WHERE条件或ONJOIN子句的一部分。

以下是Levenshtein distance ratio实施的链接 http://falseisnotnull.wordpress.com/2013/05/18/levenshtein-and-levenshtein_ratio-functions-for-mysql/